4 DIBS_COMMON_DIR=../common
5 DIBS_SWT_DIR=-Dclasspath.dibs=$(ROOTDIR)/tools/emulator/bin
8 @echo "cc does not exist"
12 ifndef TIZEN_SDK_DEV_PATH
13 TIZEN_SDK_DEV_PATH=${HOME}/tizen-sdk-dev
16 ifneq ($(wildcard ../../config-host.mak),)
17 include ../../config-host.mak
19 TARGET_EXE += util/check-cam$(EXESUF)
21 TARGET_EXE += util/check-gl$(EXESUF)
24 TARGET_EXE += util/check-hax$(EXESUF)
29 all: qemu skin_client $(TARGET_EXE) $(TARGET_DSO)
30 qemu: $(TARGET_EXE) $(TARGET_DSO) build_info
33 cd ../../ && $(MAKE) clean
35 cd ../../ && $(MAKE) distclean
38 CHECK_GL_OBJS = util/check_gl.o util/check_gl_core.o
39 CHECK_GL_CFLAGS = -c -I$(SRC_PATH)/hw/yagl/yagl_inc
41 CHECK_GL_TARGET = util/check-gl$(EXESUF)
43 CHECK_GL_OBJS += util/check_gl_glx.o
44 CHECK_GL_LDFLAGS += -lX11 -lXext -lglib-2.0 -ldl
47 CHECK_GL_OBJS += util/check_gl_wgl.o
48 CHECK_GL_LDFLAGS += -fstack-protector `pkg-config --libs glib-2.0` -lgdi32
51 CHECK_GL_OBJS += util/check_gl_cgl.o
52 CHECK_GL_LDFLAGS += -mmacosx-version-min=10.4 `pkg-config --cflags --libs glib-2.0` -framework OpenGL
55 util/check-gl$(EXESUF): $(CHECK_GL_OBJS)
56 $(CC) $(CHECK_GL_OBJS) $(CHECK_GL_LDFLAGS) -o $@
57 $(CHECK_GL_OBJS): %.o: %.c
58 $(CC) $< $(CHECK_GL_CFLAGS) -o $@
63 CHECK_CAM_LDFLAGS = -lv4l2 -lv4lconvert
66 CHECK_CAM_CFLAGS += -I.
67 CHECK_CAM_LDFLAGS = -lole32 -loleaut32 -luuid -lstrmiids
72 util/check-cam$(EXESUF): util/check_cam.o
73 $(CC) $< -o $@ $(CHECK_CAM_LDFLAGS)
74 util/check_cam.o: %.o: %.c
75 $(CC) $< -o $@ $(CHECK_CAM_CFLAGS)
84 CHECK_HAX_CFLAGS += -mmacosx-version-min=10.4
86 util/check-hax$(EXESUF): util/check_hax.o
88 util/check_hax.o: %.o: %.c
89 $(CC) $< $(CHECK_HAX_CFLAGS) -o $@
94 TIZEN_SDK_DEV_PATH=${TIZEN_SDK_DEV_PATH} ant -DdoNotUseSHM=false -buildfile skin/client/build.xml make-jar
97 TIZEN_SDK_DEV_PATH=${TIZEN_SDK_DEV_PATH} ant -DdoNotUseSHM=true -buildfile skin/client/build.xml make-jar
102 @echo "Generate a build information file"
103 @echo "/* Automatically generated by Makefile - do not modify! */" > build_info.h
104 @echo "static const char build_version[] = \"`cat VERSION`\";" >> build_info.h
105 @echo "static const char build_date[] = \"`date +"%F %T %Z"`\";" >> build_info.h
106 @echo "static const char pkginfo_version[] = \"`sed -n '1p' ./../../package/pkginfo.manifest | sed 's/\"//g'`\";" >> build_info.h
107 @echo "static const char pkginfo_maintainer[] = \"`sed -n '2p' ./../../package/pkginfo.manifest | sed 's/\"//g'`\";" >> build_info.h
108 @echo "static const char pkginfo_githead[] = \"`git rev-parse HEAD`\";" >> build_info.h
109 @echo "static 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
113 rm -f util/check-hax$(EXESUF) util/check-cam$(EXESUF) util/check-gl$(EXESUF)
114 distclean: clean qemu_distclean
117 mkdir -p $(EMUL_DIR)/bin
118 mkdir -p $(EMUL_DIR)/etc
119 mkdir -p $(EMUL_DIR)/data
120 mkdir -p $(EMUL_DIR)/images
122 @for target in $(TARGET_DIRS); do \
125 mkdir -p $(EMUL_DIR)/data/bios ;\
126 echo "Copying i386-softmmu/qemu-system-i386$(EXESUF) to $(EMUL_DIR)/bin/emulator-x86$(EXESUF)" ;\
127 cp -pP ../../i386-softmmu/qemu-system-i386$(EXESUF) $(EMUL_DIR)/bin/emulator-x86$(EXESUF) ;\
128 echo "Copying bioses to $(EMUL_DIR)/data/bios" ;\
129 cp -pP ../../pc-bios/bios-256k.bin $(EMUL_DIR)/data/bios ;\
130 cp -pP ../../pc-bios/linuxboot.bin $(EMUL_DIR)/data/bios ;\
131 cp -pP ../../pc-bios/efi-virtio.rom $(EMUL_DIR)/data/bios ;\
132 cp -pP ../../pc-bios/acpi-dsdt.aml $(EMUL_DIR)/data/bios ;\
135 echo "Copying arm-softmmu/qemu-system-arm$(EXESUF) to $(EMUL_DIR)/bin/emulator-arm$(EXESUF)" ;\
136 cp -pP ../../arm-softmmu/qemu-system-arm$(EXESUF) $(EMUL_DIR)/bin/emulator-arm$(EXESUF) ;\
141 cp -pP ../../qemu-img$(EXESUF) $(EMUL_DIR)/bin
144 cp -pP scripts/emulator.sh $(EMUL_DIR)/bin
146 cp -pP scripts/emulator.bat $(EMUL_DIR)/bin
149 # resources and jar for skin
151 cp -pP skin/client/emulator-skin.jar $(EMUL_DIR)/bin
152 cp -pPR skin/client/skins $(EMUL_DIR)
153 cp -pP skin/client/resource/images/blank-guide.png $(EMUL_DIR)/images
156 cp -pP skin/client/emulator-skin.jar $(EMUL_DIR)/bin
157 cp -pPR skin/client/skins $(EMUL_DIR)
161 # check capabilities of OpenGL and Webcam
162 cp -pP util/check-gl$(EXESUF) $(EMUL_DIR)/bin
163 cp -pP util/check-cam$(EXESUF) $(EMUL_DIR)/bin
165 # Enable HW Virtualization on Linux
167 cp -pP ../distrib/initscript/tizen-kvm $(EMUL_DIR)/etc
168 cp -pP ../distrib/initscript/45-tizen-kvm.rules $(EMUL_DIR)/etc
171 # check HW Virtualization on Windows and MAC OS X.
173 cp -pP util/check-hax$(EXESUF) $(EMUL_DIR)/bin
176 # give a title name for sdb terminal.
178 cp -pP scripts/sdbscript $(EMUL_DIR)/bin
181 # use shared memory for display framebuffer
184 cp -pP skin/client/native_src/libshared.so $(EMUL_DIR)/bin
187 cp -pP skin/client/native_src/libshared.dylib $(EMUL_DIR)/bin
191 # use GTK for CopyToClipboard on Ubuntu 12.04 64bit
193 cp -pP skin/client/native_src/clipboard.py $(EMUL_DIR)/bin
196 # change loading path of dynamic shared libraries on MAC OS X
198 install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(EMUL_DIR)/bin/qemu-img
199 install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(EMUL_DIR)/bin/qemu-img
200 install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(EMUL_DIR)/bin/qemu-img
201 install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(EMUL_DIR)/bin/qemu-img
202 install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(EMUL_DIR)/bin/qemu-img
203 install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(EMUL_DIR)/bin/qemu-img
204 install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(EMUL_DIR)/bin/check-gl
205 install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(EMUL_DIR)/bin/check-gl
206 install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(EMUL_DIR)/bin/check-gl
208 @for target in $(TARGET_DIRS); do \
211 install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
212 install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
213 install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
214 install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
215 install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
216 install_name_tool -change /opt/local/lib/libncurses.5.dylib @loader_path/libncurses.5.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
217 install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
218 install_name_tool -change /opt/local/lib/libpixman-1.0.dylib @loader_path/libpixman-1.0.dylib $(EMUL_DIR)/bin/emulator-x86 ;\
219 install_name_tool -change /opt/local/lib/libpng16.16.dylib @loader_path/libpng16.dylib $(EMUL_DIR)/bin/emulator-x86; \
228 all_dibs: qemu skin_client_dibs
231 TIZEN_SDK_DEV_PATH=${TIZEN_SDK_DEV_PATH} ant -DdoNotUseSHM=false ${DIBS_SWT_DIR} -buildfile skin/client/build.xml make-jar
234 TIZEN_SDK_DEV_PATH=${TIZEN_SDK_DEV_PATH} ant -DdoNotNotUseSHM=true ${DIBS_SWT_DIR} -buildfile skin/client/build.xml make-jar
239 install_dibs: all_dibs
240 mkdir -p $(DIBS_COMMON_DIR)/bin
241 mkdir -p $(DIBS_COMMON_DIR)/etc
242 mkdir -p $(DIBS_COMMON_DIR)/images
243 mkdir -p $(DIBS_X86_DIR)/bin
244 mkdir -p $(DIBS_X86_DIR)/data
245 mkdir -p $(DIBS_X86_DIR)/etc
246 mkdir -p $(DIBS_ARM_DIR)/bin
247 @for target in $(TARGET_DIRS); do \
250 mkdir -p $(DIBS_X86_DIR)/data/bios ;\
251 echo "Copying i386-softmmu/qemu-system-i386$(EXESUF) to $(DIBS_X86__DIR)/bin/emulator-x86$(EXESUF)" ;\
252 cp ../../i386-softmmu/qemu-system-i386$(EXESUF) $(DIBS_X86_DIR)/bin/emulator-x86$(EXESUF) ;\
253 echo "Copying bioses to $(DIBS_X86_DIR)/data/bios" ;\
254 cp -pP ../../pc-bios/bios-256k.bin $(DIBS_X86_DIR)/data/bios ;\
255 cp -pP ../../pc-bios/linuxboot.bin $(DIBS_X86_DIR)/data/bios ;\
256 cp -pP ../../pc-bios/efi-virtio.rom $(DIBS_X86_DIR)/data/bios ;\
257 cp -pP ../../pc-bios/acpi-dsdt.aml $(DIBS_X86_DIR)/data/bios ;\
260 echo "Copying arm-softmmu/qemu-system-arm$(EXESUF) to $(DIBS_ARM_DIR)/bin/emulator-arm$(EXESUF)" ;\
261 cp -pP ../../arm-softmmu/qemu-system-arm$(EXESUF) $(DIBS_ARM_DIR)/bin/emulator-arm$(EXESUF) ;\
266 cp -pP ../../qemu-img$(EXESUF) $(DIBS_COMMON_DIR)/bin
269 cp -pP scripts/emulator.sh $(DIBS_COMMON_DIR)/bin
271 cp -pP scripts/emulator.bat $(DIBS_COMMON_DIR)/bin
274 # resources and jar for skin
276 cp -pP skin/client/emulator-skin.jar $(DIBS_COMMON_DIR)/bin
277 cp -pP skin/client/resource/images/blank-guide.png $(DIBS_COMMON_DIR)/images
280 cp -pP skin/client/emulator-skin.jar $(DIBS_COMMON_DIR)/bin
284 # check capabilities of OpenGL and Webcam
285 cp -pP util/check-gl$(EXESUF) $(DIBS_COMMON_DIR)/bin
286 cp -pP util/check-cam$(EXESUF) $(DIBS_COMMON_DIR)/bin
289 # Enable HW Virtualization on Linux
291 echo "Copying tizen-kvm to $(DIBS_X86_DIR)/etc"
292 cp -pP ../distrib/initscript/tizen-kvm $(DIBS_X86_DIR)/etc
293 cp -pP ../distrib/initscript/45-tizen-kvm.rules $(DIBS_X86_DIR)/etc
296 # check HW Virtualization on Windows and MAC OS X.
298 cp -pP util/check-hax$(EXESUF) $(DIBS_COMMON_DIR)/bin
301 # give a title name for sdb terminal.
303 cp -pP scripts/sdbscript $(DIBS_COMMON_DIR)/bin
306 # use shared memory for display framebuffer
309 cp -pP skin/client/native_src/libshared.so $(DIBS_COMMON_DIR)/bin
312 cp -pP skin/client/native_src/libshared.dylib $(DIBS_COMMON_DIR)/bin
316 # use GTK for CopyToClipboard on Ubuntu 12.04 64bit
318 cp -pP skin/client/native_src/clipboard.py $(DIBS_COMMON_DIR)/bin
321 # change loading path of dynamic shared libraries on MAC OS X
323 install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
324 install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
325 install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
326 install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
327 install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
328 install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_COMMON_DIR)/bin/qemu-img
329 install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_COMMON_DIR)/bin/check-gl
330 install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_COMMON_DIR)/bin/check-gl
331 install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_COMMON_DIR)/bin/check-gl
333 @for target in $(TARGET_DIRS); do \
336 install_name_tool -change /opt/local/lib/libgthread-2.0.*.dylib @loader_path/libgthread-2.0.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
337 install_name_tool -change /opt/local/lib/libglib-2.0.*.dylib @loader_path/libglib-2.0.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
338 install_name_tool -change /opt/local/lib/libintl.8.dylib @loader_path/libintl.8.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
339 install_name_tool -change /opt/local/lib/gcc47/libgcc_s.1.dylib @loader_path/libgcc_s.1.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
340 install_name_tool -change /opt/local/lib/libz.1.dylib @loader_path/libz.1.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
341 install_name_tool -change /opt/local/lib/libncurses.5.dylib @loader_path/libncurses.5.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
342 install_name_tool -change /opt/local/lib/libcurl.4.dylib @loader_path/libcurl.4.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
343 install_name_tool -change /opt/local/lib/libpixman-1.0.dylib @loader_path/libpixman-1.0.dylib $(DIBS_X86_DIR)/bin/emulator-x86 ;\
344 install_name_tool -change /opt/local/lib/libpng16.16.dylib @loader_path/libpng16.dylib $(DIBS_X86_DIR)/bin/emulator-x86; \
354 @echo "Please call configure before running make!"