Merge commit 'origin/upstream' into juha-devel
[qemu] / debian / rules
1 #!/usr/bin/make -f
2 #
3 # $Id: rules 366 2008-12-23 16:19:26Z aurel32 $
4 #
5
6 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
7         CFLAGS = -O0
8 endif
9
10 # Support multiple makes at once
11 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
12 NJOBS := -j $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
13 endif
14
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)
18
19
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
25
26 target_system_list = $(TARGET_SYSTEM_TCG)
27
28 ifeq ($(DEB_HOST_ARCH_OS),linux)
29        conf_arch += --audio-drv-list=sdl
30        target_linux_list += $(TARGET_LINUX_TCG)
31 endif
32 ifeq ($(DEB_HOST_ARCH_OS),kfreebsd)
33        conf_arch += --audio-drv-list=oss,sdl,esd,pa
34 endif
35
36 BUILD_SB1_QEMU=$(shell test -r /scratchbox/tools/lib/libsb.a && echo YES || echo NO)
37
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
44 endif
45 endif
46 ifeq ($(DEB_HOST_ARCH_CPU),sparc)
47        conf_arch += --cpu=sparc
48 endif
49
50 qemu_docs = \
51         qemu-doc.html \
52         qemu-tech.html \
53         qemu.1 \
54         qemu-img.1
55
56 obj-sb2/config-host.mak: configure
57         dh_testdir
58         mkdir obj-sb2
59         ( cd obj-sb2; CFLAGS="$(CFLAGS)" ../configure \
60                 --prefix=/usr \
61                 --interp-prefix=/ \
62                 --disable-blobs \
63                 --enable-guest-base \
64                 --target-list="$(target_linux_list)" \
65                 $(conf_arch) )
66         ( cd obj-sb2; $(MAKE) $(NJOBS) )
67
68 obj-sb1/config-host.mak: configure
69         dh_testdir
70         mkdir obj-sb1
71         ( cd obj-sb1; CFLAGS="$(CFLAGS) $(SB1_CFLAGS)"  ../configure \
72                 --prefix=$(sb1_prefix) \
73                 --interp-prefix=/ \
74                 --static \
75                 --enable-guest-base \
76                 --target-list="$(sb1_target_list)"\
77                 --disable-kqemu --disable-sdl )
78         ( cd obj-sb1; $(MAKE) $(NJOBS) )
79
80 obj-system/config-host.mak: configure
81         dh_testdir
82         mkdir obj-system
83         ( cd obj-system; CFLAGS="$(CFLAGS)" ../configure \
84                 --prefix=/usr \
85                 --interp-prefix=/ \
86                 --disable-blobs \
87                 --enable-guest-base \
88                 --target-list="$(target_system_list)" \
89                 $(conf_arch) )
90         ( cd obj-system; $(MAKE) $(NJOBS) )
91
92 build: $(package_list)
93
94 clean:
95         dh_testdir
96         dh_testroot
97         [ ! -f config-host.mak ] || $(MAKE) distclean
98         rm -rf obj-sb1 obj-sb2 obj-system
99         rm -f $(qemu_docs)
100         dh_clean
101
102 # cputransp-methods should be generated at postinst
103 sb1-qemu-install:
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 ; \
109         done
110
111 sb2-qemu-install:
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
115
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
120
121 install: build $(install_list)
122         dh_testdir
123         dh_testroot
124 #       dh_clean -k
125         dh_installdirs -a
126
127 binary-indep:
128 # Nothing to do.
129
130 binary-arch: install
131         dh_testdir
132         dh_testroot
133 #       dh_install -a
134 #       dh_installdebconf -a
135         dh_installdocs -s
136         dh_installexamples -s
137 #       dh_installlogrotate -a
138         dh_installman -s
139         dh_installinfo -s
140         dh_installchangelogs -s Changelog
141         dh_link -s
142         dh_strip -s
143         dh_compress -s
144         dh_fixperms -s
145         dh_installdeb -s
146         dh_shlibdeps -s
147         dh_gencontrol -s
148         dh_md5sums -s
149         dh_builddeb -s
150
151 binary: binary-indep binary-arch
152
153 .PHONY: build clean binary-indep binary-arch binary install
154