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 source_version = $(shell dpkg-parsechangelog | grep ^Version | head -n1 | cut -d ' ' -f 2)
30 ifeq ($(DEB_HOST_ARCH_OS),linux)
31 conf_arch += --audio-drv-list=sdl
32 target_linux_list += $(TARGET_LINUX_TCG)
34 ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
35 conf_arch += --audio-drv-list=oss,sdl,esd,pa
38 BUILD_SB1_QEMU=$(shell test -r /scratchbox/tools/lib/libsb.a && echo YES || echo NO)
40 ifeq ($(DEB_HOST_ARCH_CPU),i386)
41 conf_arch += --cpu=i386
42 ifeq ($(BUILD_SB1_QEMU),YES)
43 package_list += obj-sb1/config-host.mak
44 install_list += sb1-qemu-install
45 sb1_target_list += arm-linux-user ppc-linux-user sparc-linux-user i386-linux-user armeb-linux-user mips-linux-user mipsel-linux-user
48 ifeq ($(DEB_HOST_ARCH_CPU),sparc)
49 conf_arch += --cpu=sparc
58 obj-sb2/config-host.mak: configure
61 ( cd obj-sb2; CFLAGS="$(CFLAGS)" ../configure \
66 --target-list="$(target_linux_list)" \
68 ( cd obj-sb2; $(MAKE) $(NJOBS) )
70 obj-sb1/config-host.mak: configure
73 ( cd obj-sb1; CFLAGS="$(CFLAGS) $(SB1_CFLAGS)" ../configure \
74 --prefix=$(sb1_prefix) \
78 --target-list="$(sb1_target_list)"\
79 --disable-kqemu --disable-sdl )
80 ( cd obj-sb1; $(MAKE) $(NJOBS) )
82 obj-system/config-host.mak: configure
85 ( cd obj-system; CFLAGS="$(CFLAGS)" ../configure \
90 --target-list="$(target_system_list)" \
92 ( cd obj-system; $(MAKE) $(NJOBS) )
94 build: $(package_list)
99 [ ! -f config-host.mak ] || $(MAKE) distclean
100 rm -rf obj-sb1 obj-sb2 obj-system
104 # cputransp-methods should be generated at postinst
106 mkdir -p debian/scratchbox-devkit-qemu/$(sb1_prefix)/{bin,etc}
107 cp debian/cputransp-methods \
108 debian/scratchbox-devkit-qemu/$(sb1_prefix)/etc
109 for i in obj-sb1/*-linux-user/qemu-* ; do \
110 install -m 755 $$i debian/scratchbox-devkit-qemu/$(sb1_prefix)/bin/`basename $$i`-sb ; \
114 mkdir -p debian/sb2-qemu-arm/usr/bin
115 cp obj-sb2/arm-linux-user/qemu-arm debian/sb2-qemu-arm/usr/bin/sb2-qemu-arm
116 cp obj-sb2/i386-linux-user/qemu-i386 debian/sb2-qemu-arm/usr/bin/sb2-qemu-i386
118 sb-system-qemu-install:
119 mkdir -p debian/sb-system-qemu/usr/bin
120 cp obj-system/arm-softmmu/qemu-system-arm debian/sb-system-qemu/usr/bin/sb-qemu-system-arm
121 cp obj-system/i386-softmmu/qemu debian/sb-system-qemu/usr/bin/sb-qemu-system-i386
123 install: build $(install_list)
136 # dh_installdebconf -a
138 dh_installexamples -s
139 # dh_installlogrotate -a
142 dh_installchangelogs -s Changelog
153 binary: binary-indep binary-arch
155 sb1-qemu-tarball: build sb1-qemu-install
156 tar czf ../scratchbox-devkit-qemu-$(source_version).tar.gz \
157 -C debian/scratchbox-devkit-qemu \
158 $(shell ls -1 debian/scratchbox-devkit-qemu)
160 .PHONY: build clean binary-indep binary-arch binary install