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)
22 TARGET_SYSTEM_TCG = arm-softmmu i386-softmmu
23 TARGET_LINUX_TCG = arm-linux-user i386-linux-user
24 package_list = obj-sb2/config-host.mak obj-system/config-host.mak
25 install_list = sb2-qemu-install sb-system-qemu-install
26 sb1_prefix = /scratchbox/devkits/qemu
28 target_system_list = $(TARGET_SYSTEM_TCG)
30 source_version = $(shell dpkg-parsechangelog | grep ^Version | head -n1 | cut -d ' ' -f 2)
32 ifeq ($(DEB_HOST_ARCH_OS),linux)
33 conf_arch += --audio-drv-list=sdl
34 target_linux_list += $(TARGET_LINUX_TCG)
36 ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
37 conf_arch += --audio-drv-list=oss,sdl,esd,pa
40 BUILD_SB1_QEMU=$(shell test -r /scratchbox/tools/lib/libsb.a && echo YES || echo NO)
42 ifeq ($(DEB_HOST_ARCH_CPU),i386)
43 conf_arch += --cpu=i386
44 ifeq ($(BUILD_SB1_QEMU),YES)
45 package_list += obj-sb1/config-host.mak
46 install_list += sb1-qemu-install
47 sb1_target_list += arm-linux-user ppc-linux-user sparc-linux-user i386-linux-user armeb-linux-user mips-linux-user mipsel-linux-user
49 nopackages += -Nscratchbox-devkit-qemu
52 ifeq ($(DEB_HOST_ARCH_CPU),sparc)
53 conf_arch += --cpu=sparc
62 obj-sb2/config-host.mak: configure
65 ( cd obj-sb2; CFLAGS="$(CFLAGS)" ../configure \
70 --target-list="$(target_linux_list)" \
72 ( cd obj-sb2; $(MAKE) $(NJOBS) )
74 obj-sb1/config-host.mak: configure
77 ( cd obj-sb1; CFLAGS="$(CFLAGS) $(SB1_CFLAGS)" ../configure \
78 --prefix=$(sb1_prefix) \
82 --target-list="$(sb1_target_list)"\
83 --disable-kqemu --disable-sdl )
84 ( cd obj-sb1; $(MAKE) $(NJOBS) )
86 obj-system/config-host.mak: configure
89 ( cd obj-system; CFLAGS="$(CFLAGS)" ../configure \
94 --target-list="$(target_system_list)" \
96 ( cd obj-system; $(MAKE) $(NJOBS) )
98 build: $(package_list)
103 [ ! -f config-host.mak ] || $(MAKE) distclean
104 rm -rf obj-sb1 obj-sb2 obj-system
108 # cputransp-methods should be generated at postinst
110 mkdir -p debian/scratchbox-devkit-qemu/$(sb1_prefix)/{bin,etc}
111 cp debian/cputransp-methods \
112 debian/scratchbox-devkit-qemu/$(sb1_prefix)/etc
113 for i in obj-sb1/*-linux-user/qemu-* ; do \
114 install -m 755 $$i debian/scratchbox-devkit-qemu/$(sb1_prefix)/bin/`basename $$i`-sb ; \
118 mkdir -p debian/sb2-qemu-arm/usr/bin
119 cp obj-sb2/arm-linux-user/qemu-arm debian/sb2-qemu-arm/usr/bin/sb2-qemu-arm
120 cp obj-sb2/i386-linux-user/qemu-i386 debian/sb2-qemu-arm/usr/bin/sb2-qemu-i386
122 sb-system-qemu-install:
123 mkdir -p debian/sb-system-qemu/usr/bin
124 cp obj-system/arm-softmmu/qemu-system-arm debian/sb-system-qemu/usr/bin/sb-qemu-system-arm
125 cp obj-system/i386-softmmu/qemu debian/sb-system-qemu/usr/bin/sb-qemu-system-i386
127 install: build $(install_list)
140 # dh_installdebconf -a
141 dh_installdocs -s $(nopackages)
142 dh_installexamples -s $(nopackages)
143 # dh_installlogrotate -a $(nopackages)
144 dh_installman -s $(nopackages)
145 dh_installinfo -s $(nopackages)
146 dh_installchangelogs -s Changelog $(nopackages)
147 dh_link -s $(nopackages)
148 dh_strip -s $(nopackages)
149 dh_compress -s $(nopackages)
150 dh_fixperms -s $(nopackages)
151 dh_installdeb -s $(nopackages)
152 dh_shlibdeps -s $(nopackages)
153 dh_gencontrol -s $(nopackages)
154 dh_md5sums -s $(nopackages)
155 dh_builddeb -s $(nopackages)
157 binary: binary-indep binary-arch
159 sb1-qemu-tarball: build sb1-qemu-install
160 tar czf ../scratchbox-devkit-qemu-$(source_version).tar.gz \
161 -C debian/scratchbox-devkit-qemu \
162 $(shell ls -1 debian/scratchbox-devkit-qemu)
164 .PHONY: build clean binary-indep binary-arch binary install