Merge "YaGL: glFinish removed, using single render finish command winsys: added ...
[sdk/emulator/qemu.git] / tizen / src / Makefile
1 EMUL_DIR=../emulator
2 DIBS_X86_DIR=../x86
3 DIBS_ARM_DIR=../arm
4 DIBS_COMMON_DIR=../common
5
6 ifneq ($(wildcard ../../config-host.mak),)
7 include ../../config-host.mak
8 else
9 config-host.mak:
10         @echo "Please call configure before running make!"
11         @exit 1
12 endif
13
14 ifdef CONFIG_WIN32
15 EXECUTABLE_EXTENSION=.exe
16 else
17 EXECUTABLE_EXTENSION=
18 endif
19
20 all: qemu skin_client
21 qemu: build_info ffmpeg_install check_hax check_cam
22         cd ../../ && $(MAKE)
23 qemu_clean:
24         cd ../../ && $(MAKE) clean
25 qemu_distclean:
26         cd ../../ && $(MAKE) distclean
27
28 check_hax:
29         @echo "build check hax" 
30 ifdef CONFIG_WIN32
31         $(CC) -o check-hax.exe check_hax.c      
32 endif
33 ifdef CONFIG_DARWIN
34         $(CC) -mmacosx-version-min=10.4 -o check-hax check_hax.c        
35 endif
36
37 check_cam:
38         @echo "build check cam"
39 ifdef CONFIG_LINUX
40         $(CC) -o check-cam check_cam.c -lv4l2 -lv4lconvert
41 endif
42 ifdef CONFIG_WIN32
43         $(CC) -o check-cam.exe check_cam.c -lole32 -loleaut32 -luuid -lstrmiids
44 endif
45 ifdef CONFIG_DARWIN
46         $(CC) -o check-cam check_cam.c
47 endif
48
49 skin_client:
50         ant -buildfile skin/client/build.xml make-jar
51
52 build_info:
53         @echo "Generate a build information file"
54         @echo "/* Automatically generated by Makefile - do not modify! */" > build_info.h
55         @echo "const char build_version[] = \"`cat VERSION`\";" >> build_info.h
56         @echo "const char build_date[] = \"`date +"%F %T %Z"`\";" >> build_info.h
57         @echo "const char pkginfo_version[] = \"`sed -n '1p' ./../../package/pkginfo.manifest | sed 's/\"//g'`\";" >> build_info.h
58         @echo "const char pkginfo_maintainer[] = \"`sed -n '2p' ./../../package/pkginfo.manifest | sed 's/\"//g'`\";" >> build_info.h
59         @echo "const char pkginfo_githead[] = \"`git rev-parse HEAD`\";" >> build_info.h
60         @echo "const char latest_gittag[] = \"`git for-each-ref --count=1 --sort=-taggerdate refs/tags/ --format='Latest Git Tag : %(refname:short) (%(subject))' | sed 's/\"//g'`\";" >> build_info.h
61
62 ffmpeg:
63         cd ../distrib/libav/ && $(MAKE)
64 ffmpeg_install: ffmpeg
65         cd ../distrib/libav/ && $(MAKE) install
66 ffmpeg_clean:
67         cd ../distrib/libav/ && $(MAKE) clean
68 ffmpeg_distclean:
69         cd ../distrib/libav/ && $(MAKE) clean && rm -rf $(ARCH)
70
71 clean: ffmpeg_clean qemu_clean
72 ifndef CONFIG_LINUX
73         rm -f check-hax$(EXECUTABLE_EXTENSION) check-cam$(EXECUTABLE_EXTENSION)
74 else
75         rm -f check-cam
76 endif
77 distclean: clean ffmpeg_distclean qemu_distclean
78
79 install: all
80         mkdir -p $(EMUL_DIR)/bin
81         mkdir -p $(EMUL_DIR)/etc
82         mkdir -p $(EMUL_DIR)/data
83         mkdir -p $(EMUL_DIR)/images
84
85         @for target in $(TARGET_DIRS); do \
86         case "$$target" in \
87         i386-softmmu) \
88                 mkdir -p $(EMUL_DIR)/data/bios ;\
89                 echo "Copying i386-softmmu/qemu-system-i386$(EXECUTABLE_EXTENSION) to $(EMUL_DIR)/bin/emulator-x86$(EXECUTABLE_EXTENSION)" ;\
90                 cp -pP ../../i386-softmmu/qemu-system-i386$(EXECUTABLE_EXTENSION) $(EMUL_DIR)/bin/emulator-x86$(EXECUTABLE_EXTENSION) ;\
91                 echo "Copying bioses to $(EMUL_DIR)/data/bios" ;\
92                 cp -pP ../../pc-bios/bios.bin $(EMUL_DIR)/data/bios ;\
93                 cp -pP ../../pc-bios/linuxboot.bin $(EMUL_DIR)/data/bios ;\
94                 cp -pP ../../pc-bios/efi-virtio.rom $(EMUL_DIR)/data/bios ;\
95                 cp -pP ../../pc-bios/acpi-dsdt.aml $(EMUL_DIR)/data/bios ;\
96                 ;; \
97         arm-softmmu) \
98                 echo "Copying arm-softmmu/qemu-system-arm$(EXECUTABLE_EXTENSION) to $(EMUL_DIR)/bin/emulator-arm$(EXECUTABLE_EXTENSION)" ;\
99                 cp -pP ../../arm-softmmu/qemu-system-arm$(EXECUTABLE_EXTENSION) $(EMUL_DIR)/bin/emulator-arm$(EXECUTABLE_EXTENSION) ;\
100                 ;; \
101         esac; \
102         done
103
104         cp -pP ../../qemu-img$(EXECUTABLE_EXTENSION) $(EMUL_DIR)/bin
105
106 # resources and jar for skin
107         cp -pP skin/client/emulator-skin.jar $(EMUL_DIR)/bin
108         cp -pP skin/client/lib/swt.jar $(EMUL_DIR)/bin
109         cp -pPR skin/client/skins $(EMUL_DIR)
110         cp -pP skin/client/resource/images/blank-guide.png $(EMUL_DIR)/images
111
112 # check capabilities of OpenGL and Webcam
113         cp -pP ../../i386-softmmu/check-gl$(EXECUTABLE_EXTENSION) $(EMUL_DIR)/bin
114         cp -pP check-cam$(EXECUTABLE_EXTENSION) $(EMUL_DIR)/bin
115
116 # Enable HW Virtualization on Linux
117 ifdef CONFIG_LINUX
118         cp -pP ../distrib/initscript/tizen-kvm $(EMUL_DIR)/etc
119         cp -pP ../distrib/initscript/45-tizen-kvm.rules $(EMUL_DIR)/etc
120 endif
121
122 # check HW Virtualization on Windows and MAC OS X.
123 ifndef CONFIG_LINUX
124         cp -pP check-hax$(EXECUTABLE_EXTENSION) $(EMUL_DIR)/bin
125 endif
126
127 # give a title name for sdb terminal.
128 ifdef CONFIG_DARWIN
129         cp -pP sdbscript $(EMUL_DIR)/bin
130 endif
131
132 # use shared memory to display LCD
133 ifdef CONFIG_USE_SHM
134 ifdef CONFIG_LINUX
135         cp -pP skin/client/native_src/libshared.so $(EMUL_DIR)/bin
136 endif
137 ifdef CONFIG_DARWIN
138         cp -pP skin/client/native_src/libshared.dylib $(EMUL_DIR)/bin
139 endif
140 endif
141
142 # change loading path of dynamic shared libraries on MAC OS X
143 ifdef CONFIG_DARWIN
144         install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(EMUL_DIR)/bin/qemu-img
145         install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(EMUL_DIR)/bin/qemu-img
146         install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(EMUL_DIR)/bin/qemu-img
147         install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(EMUL_DIR)/bin/qemu-img
148         install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(EMUL_DIR)/bin/qemu-img
149         install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(EMUL_DIR)/bin/qemu-img
150         install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(EMUL_DIR)/bin/check-gl
151         install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(EMUL_DIR)/bin/check-gl
152         install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(EMUL_DIR)/bin/check-gl
153
154         @for target in $(TARGET_DIRS); do \
155         case "$$target" in \
156         i386-softmmu) \
157                 install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
158                 install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
159                 install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
160                 install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
161                 install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
162                 install_name_tool -change /opt/local/lib/libncurses.5.dylib @loader_path/libncurses.5.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
163                 install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
164                 ;; \
165         arm-softmmu) \
166                 ;; \
167         esac; \
168         done
169 endif
170
171 # for dibs system...
172 all_dibs: qemu skin_client_dibs
173 skin_client_dibs:
174         ant -buildfile skin/client/build.xml -Dclasspath.dibs=$(ROOTDIR)/tools/emulator/bin make-jar-dibs
175 install_dibs: all_dibs
176         mkdir -p $(DIBS_COMMON_DIR)/bin
177         mkdir -p $(DIBS_COMMON_DIR)/etc
178         mkdir -p $(DIBS_COMMON_DIR)/images
179         mkdir -p $(DIBS_X86_DIR)/bin
180         mkdir -p $(DIBS_X86_DIR)/data
181         mkdir -p $(DIBS_X86_DIR)/etc
182         mkdir -p $(DIBS_ARM_DIR)/bin
183         @for target in $(TARGET_DIRS); do \
184         case "$$target" in \
185         i386-softmmu) \
186                 mkdir -p $(DIBS_X86_DIR)/data/bios ;\
187                 echo "Copying i386-softmmu/qemu-system-i386$(EXECUTABLE_EXTENSION) to $(DIBS_X86__DIR)/bin/emulator-x86$(EXECUTABLE_EXTENSION)" ;\
188                 cp ../../i386-softmmu/qemu-system-i386$(EXECUTABLE_EXTENSION) $(DIBS_X86_DIR)/bin/emulator-x86$(EXECUTABLE_EXTENSION) ;\
189                 echo "Copying bioses to $(DIBS_X86_DIR)/data/bios" ;\
190                 cp -pP ../../pc-bios/bios.bin $(DIBS_X86_DIR)/data/bios ;\
191                 cp -pP ../../pc-bios/linuxboot.bin $(DIBS_X86_DIR)/data/bios ;\
192                 cp -pP ../../pc-bios/efi-virtio.rom $(DIBS_X86_DIR)/data/bios ;\
193                 cp -pP ../../pc-bios/acpi-dsdt.aml $(DIBS_X86_DIR)/data/bios ;\
194                 ;; \
195         arm-softmmu) \
196                 echo "Copying arm-softmmu/qemu-system-arm$(EXECUTABLE_EXTENSION) to $(DIBS_ARM_DIR)/bin/emulator-arm$(EXECUTABLE_EXTENSION)" ;\
197                 cp -pP ../../arm-softmmu/qemu-system-arm$(EXECUTABLE_EXTENSION) $(DIBS_ARM_DIR)/bin/emulator-arm$(EXECUTABLE_EXTENSION) ;\
198                 ;; \
199         esac; \
200         done
201
202         cp -pP ../../qemu-img$(EXECUTABLE_EXTENSION) $(DIBS_COMMON_DIR)/bin
203
204 # resources and jar for skin
205         cp -pP skin/client/emulator-skin.jar $(DIBS_COMMON_DIR)/bin
206         cp -pPR skin/client/skins $(DIBS_COMMON_DIR)
207         cp -pP skin/client/resource/images/blank-guide.png $(DIBS_COMMON_DIR)/images
208
209 # check capabilities of OpenGL and Webcam
210         cp -pP ../../i386-softmmu/check-gl$(EXECUTABLE_EXTENSION) $(DIBS_COMMON_DIR)/bin
211         cp -pP check-cam$(EXECUTABLE_EXTENSION) $(DIBS_COMMON_DIR)/bin
212
213
214 # Enable HW Virtualization on Linux
215 ifdef CONFIG_LINUX
216         echo "Copying tizen-kvm to $(DIBS_X86_DIR)/etc"
217         cp -pP ../distrib/initscript/tizen-kvm $(DIBS_X86_DIR)/etc
218         cp -pP ../distrib/initscript/45-tizen-kvm.rules $(DIBS_X86_DIR)/etc
219 endif
220
221 # check HW Virtualization on Windows and MAC OS X.
222 ifndef CONFIG_LINUX
223         cp -pP check-hax$(EXECUTABLE_EXTENSION) $(DIBS_COMMON_DIR)/bin
224 endif
225
226 # give a title name for sdb terminal.
227 ifdef CONFIG_DARWIN
228         cp -pP sdbscript $(DIBS_COMMON_DIR)/bin
229 endif
230
231 # use shared memory to display LCD
232 ifdef CONFIG_USE_SHM
233 ifdef CONFIG_LINUX
234         cp -pP skin/client/native_src/libshared.so $(DIBS_COMMON_DIR)/bin
235 endif
236 ifdef CONFIG_DARWIN
237         cp -pP skin/client/native_src/libshared.dylib $(DIBS_COMMON_DIR)/bin
238 endif
239 endif
240
241 # change loading path of dynamic shared libraries on MAC OS X
242 ifdef CONFIG_DARWIN
243         install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
244         install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
245         install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
246         install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
247         install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
248         install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
249         install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/check-gl
250         install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/check-gl
251         install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_COMMON_DIR)/bin/check-gl
252
253         @for target in $(TARGET_DIRS); do \
254         case "$$target" in \
255         i386-softmmu) \
256                 install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
257                 install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
258                 install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
259                 install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
260                 install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
261                 install_name_tool -change /opt/local/lib/libncurses.5.dylib @loader_path/libncurses.5.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
262                 install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
263                 ;; \
264         arm-softmmu) \
265                 ;; \
266         esac; \
267         done
268 endif