3 # $Id: rules 366 2008-12-23 16:19:26Z aurel32 $
6 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
10 # Support multiple makes at once
11 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
12 NJOBS := -j $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
15 # Architecture/system specific configuration
16 DEB_HOST_ARCH_OS = $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
17 DEB_HOST_ARCH_CPU = $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
20 TARGET_SYSTEM_TCG = arm-softmmu i386-softmmu
21 TARGET_LINUX_TCG = arm-linux-user i386-linux-user
22 package_list = obj-sb2/config-host.mak obj-system/config-host.mak
23 install_list = sb2-qemu-install sb-system-qemu-install
24 sb1_prefix = /scratchbox/devkits/qemu
26 target_system_list = $(TARGET_SYSTEM_TCG)
28 ifeq ($(DEB_HOST_ARCH_OS),linux)
29 conf_arch += --audio-drv-list=sdl
30 target_linux_list += $(TARGET_LINUX_TCG)
32 ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
33 conf_arch += --audio-drv-list=oss,sdl,esd,pa
36 BUILD_SB1_QEMU=$(shell test -r /scratchbox/tools/lib/libsb.a && echo YES || echo NO)
38 ifeq ($(DEB_HOST_ARCH_CPU),i386)
39 conf_arch += --cpu=i386
40 ifeq ($(BUILD_SB1_QEMU),YES)
41 package_list += obj-sb1/config-host.mak
42 install_list += sb1-qemu-install
43 sb1_target_list += arm-linux-user ppc-linux-user sparc-linux-user i386-linux-user armeb-linux-user mips-linux-user mipsel-linux-user
46 ifeq ($(DEB_HOST_ARCH_CPU),sparc)
47 conf_arch += --cpu=sparc
56 obj-sb2/config-host.mak: configure
59 ( cd obj-sb2; CFLAGS="$(CFLAGS)" ../configure \
64 --target-list="$(target_linux_list)" \
66 ( cd obj-sb2; $(MAKE) $(NJOBS) )
68 obj-sb1/config-host.mak: configure
71 ( cd obj-sb1; CFLAGS="$(CFLAGS) $(SB1_CFLAGS)" ../configure \
72 --prefix=$(sb1_prefix) \
76 --target-list="$(sb1_target_list)"\
77 --disable-kqemu --disable-sdl )
78 ( cd obj-sb1; $(MAKE) $(NJOBS) )
80 obj-system/config-host.mak: configure
83 ( cd obj-system; CFLAGS="$(CFLAGS)" ../configure \
88 --target-list="$(target_system_list)" \
90 ( cd obj-system; $(MAKE) $(NJOBS) )
92 build: $(package_list)
97 [ ! -f config-host.mak ] || $(MAKE) distclean
98 rm -rf obj-sb1 obj-sb2 obj-system
102 # cputransp-methods should be generated at postinst
104 mkdir -p debian/scratchbox-devkit-qemu/$(sb1_prefix)/{bin,etc}
105 cp debian/cputransp-methods \
106 debian/scratchbox-devkit-qemu/$(sb1_prefix)/etc
107 for i in obj-sb1/*-linux-user/qemu-* ; do \
108 install -m 755 $$i debian/scratchbox-devkit-qemu/$(sb1_prefix)/bin/`basename $$i`-sb ; \
112 mkdir -p debian/sb2-qemu-arm/usr/bin
113 cp obj-sb2/arm-linux-user/qemu-arm debian/sb2-qemu-arm/usr/bin/sb2-qemu-arm
114 cp obj-sb2/i386-linux-user/qemu-i386 debian/sb2-qemu-arm/usr/bin/sb2-qemu-i386
116 sb-system-qemu-install:
117 mkdir -p debian/sb-system-qemu/usr/bin
118 cp obj-system/arm-softmmu/qemu-system-arm debian/sb-system-qemu/usr/bin/sb-qemu-system-arm
119 cp obj-system/i386-softmmu/qemu debian/sb-system-qemu/usr/bin/sb-qemu-system-i386
121 install: build $(install_list)
134 # dh_installdebconf -a
136 dh_installexamples -s
137 # dh_installlogrotate -a
140 dh_installchangelogs -s Changelog
151 binary: binary-indep binary-arch
153 .PHONY: build clean binary-indep binary-arch binary install