4 DIBS_COMMON_DIR=../common
6 ifneq ($(wildcard ../../config-host.mak),)
7 include ../../config-host.mak
10 @echo "Please call configure before running make!"
15 EXECUTABLE_EXTENSION=.exe
21 qemu: build_info ffmpeg_install check_hax check_cam
24 cd ../../ && $(MAKE) clean
26 cd ../../ && $(MAKE) distclean
29 @echo "build check hax"
31 $(CC) -o check-hax.exe check_hax.c
34 $(CC) -mmacosx-version-min=10.4 -o check-hax check_hax.c
38 @echo "build check cam"
40 $(CC) -o check-cam check_cam.c -lv4l2 -lv4lconvert
43 $(CC) -o check-cam.exe check_cam.c -lole32 -loleaut32 -luuid -lstrmiids
46 $(CC) -o check-cam check_cam.c
50 ant -buildfile skin/client/build.xml make-jar
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
63 cd ../distrib/libav/ && $(MAKE)
64 ffmpeg_install: ffmpeg
65 cd ../distrib/libav/ && $(MAKE) install
67 cd ../distrib/libav/ && $(MAKE) clean
69 cd ../distrib/libav/ && $(MAKE) clean && rm -rf $(ARCH)
71 clean: ffmpeg_clean qemu_clean
73 rm -f check-hax$(EXECUTABLE_EXTENSION) check-cam$(EXECUTABLE_EXTENSION)
77 distclean: clean ffmpeg_distclean qemu_distclean
80 mkdir -p $(EMUL_DIR)/bin
81 mkdir -p $(EMUL_DIR)/etc
82 mkdir -p $(EMUL_DIR)/data
83 mkdir -p $(EMUL_DIR)/images
85 @for target in $(TARGET_DIRS); do \
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 ;\
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) ;\
104 cp -pP ../../qemu-img$(EXECUTABLE_EXTENSION) $(EMUL_DIR)/bin
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
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
116 # Enable HW Virtualization on Linux
118 cp -pP ../distrib/initscript/tizen-kvm $(EMUL_DIR)/etc
119 cp -pP ../distrib/initscript/45-tizen-kvm.rules $(EMUL_DIR)/etc
122 # check HW Virtualization on Windows and MAC OS X.
124 cp -pP check-hax$(EXECUTABLE_EXTENSION) $(EMUL_DIR)/bin
127 # give a title name for sdb terminal.
129 cp -pP sdbscript $(EMUL_DIR)/bin
132 # use shared memory to display LCD
135 cp -pP skin/client/native_src/libshared.so $(EMUL_DIR)/bin
138 cp -pP skin/client/native_src/libshared.dylib $(EMUL_DIR)/bin
142 # change loading path of dynamic shared libraries on MAC OS X
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
154 @for target in $(TARGET_DIRS); do \
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 ;\
172 all_dibs: qemu 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 \
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 ;\
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) ;\
202 cp -pP ../../qemu-img$(EXECUTABLE_EXTENSION) $(DIBS_COMMON_DIR)/bin
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
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
214 # Enable HW Virtualization on 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
221 # check HW Virtualization on Windows and MAC OS X.
223 cp -pP check-hax$(EXECUTABLE_EXTENSION) $(DIBS_COMMON_DIR)/bin
226 # give a title name for sdb terminal.
228 cp -pP sdbscript $(DIBS_COMMON_DIR)/bin
231 # use shared memory to display LCD
234 cp -pP skin/client/native_src/libshared.so $(DIBS_COMMON_DIR)/bin
237 cp -pP skin/client/native_src/libshared.dylib $(DIBS_COMMON_DIR)/bin
241 # change loading path of dynamic shared libraries on MAC OS X
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
253 @for target in $(TARGET_DIRS); do \
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 ;\