#!/usr/bin/make -f # # Copyright © 1997-1999 Joey Hess # Copyright © 2002-2004 Robert Millan # Copyright © 2004-2012 Guillem Jover # Copyright © 2018 Stephen Kitt # export DEB_BUILD_MAINT_OPTIONS = hardening=+all tmpdir := $(CURDIR)/debian/tmp pkg_bochs := $(CURDIR)/debian/bochs include /usr/share/dpkg/architecture.mk ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) conf_gnu_type += --build $(DEB_HOST_GNU_TYPE) else conf_gnu_type += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) endif include /usr/share/dpkg/buildflags.mk cdrom := cdrom ifeq ($(DEB_HOST_ARCH_OS),linux) kernel := linux conf_arch_args += --enable-pcidev eth := eth0 com := ttyS0 endif ifeq ($(DEB_HOST_ARCH_OS),kfreebsd) kernel := fbsd eth := xl0 com := cuua0 cdrom := acd0 endif ifeq ($(DEB_HOST_ARCH_OS),hurd) eth := eth0 com := com0 endif clean: dh_testdir dh_testroot [ ! -f bios/Makefile ] || $(MAKE) -C bios bios-clean rm -f bios/VGABIOS-* rm -f misc/sb16/sb16ctrl [ ! -f Makefile ] || $(MAKE) dist-clean rm -f bxversion.rc rm -f ltdl.* ltdlconf.* rm -f ltmain.sh rm -f aclocal.m4 rm -f config.sub config.guess rm -f configure dh_clean configure: configure.in dh_testdir libtoolize -c # XXX: Make extra sure we link against the system shared library. rm -rf libltdl aclocal autoconf config.status: configure dh_testdir -test -r /usr/share/misc/config.sub && \ cp -fu /usr/share/misc/config.sub config.sub -test -r /usr/share/misc/config.guess && \ cp -fu /usr/share/misc/config.guess config.guess # Note: We disable docbook support here as a cheap way to avoid # building it in build-arch, and only in build-indep. This works # because configure only disables entering the directory. CPPFLAGS="$(CPPFLAGS)" \ CFLAGS="$(CFLAGS)" \ CXXFLAGS="$(CXXFLAGS)" \ LDFLAGS="$(LDFLAGS)" \ ./configure \ $(conf_gnu_type) \ --prefix=/usr \ --mandir=\$${prefix}/share/man \ --with-x11 \ --with-rfb \ --with-term \ --with-sdl2 \ --with-wx \ --disable-docbook \ --enable-cdrom \ --enable-pci \ --enable-usb \ --enable-usb-ohci \ --enable-a20-pin \ --enable-cpu-level=6 \ --enable-x86-64 \ --enable-avx \ --enable-evex \ --enable-vmx=2 \ --enable-fpu \ --enable-debugger \ --enable-debugger-gui \ --enable-disasm \ --enable-idle-hack \ --enable-all-optimizations \ --enable-repeat-speedups \ --enable-plugins \ --enable-compressed-hd \ --enable-clgd54xx \ --enable-voodoo \ --enable-sb16 \ --enable-es1370 \ --enable-ne2000 \ --enable-pnic \ --enable-e1000 \ --enable-busmouse \ --enable-svm \ --enable-protection-keys \ --enable-usb-ehci \ --enable-usb-xhci \ --enable-smp \ $(conf_arch_args) build: build-arch build-arch: config.status dh_testdir $(MAKE) ifeq ($(DEB_HOST_ARCH_CPU),i386) $(CC) misc/sb16/sb16ctrl.c -o misc/sb16/sb16ctrl endif build-indep: config.status dh_testdir ifeq (,$(findstring $(DEB_HOST_ARCH_CPU),i386 amd64)) $(error "build-indep will only succeed on any-i386 or any-amd64") endif # bochsbios $(MAKE) -C bios # bochs-doc $(MAKE) -C doc/docbook USE_JADE=1 install: build dh_testdir dh_testroot dh_prep dh_installdirs -a # Hack to keep install target happy touch bios/VGABIOS-fake bios/bios.bin-fake $(MAKE) install DESTDIR=$(tmpdir) # misc cleanup rm -f \ $(tmpdir)/usr/share/bochs/install-x11-fonts \ $(tmpdir)/usr/share/bochs/test-x11-fonts \ $(tmpdir)/usr/share/man/man1/bochs-dlx.1.gz \ $(tmpdir)/usr/share/doc/bochs/COPYING.gz \ $(tmpdir)/usr/bin/bochs-docs # bochs cat $(tmpdir)/usr/share/doc/bochs/bochsrc-sample.txt \ | sed \ -e "s/#kernel#/$(kernel)/g" \ -e "s/#eth#/$(eth)/g" \ -e "s/#com#/$(com)/g" \ -e "s/#cdrom#/$(cdrom)/g" \ | gzip -c9n \ > $(pkg_bochs)/usr/share/doc/bochs/examples/bochsrc.gz rm -f $(tmpdir)/usr/share/doc/bochs/bochsrc-sample.txt mv $(tmpdir)/usr/bin/bochs \ $(tmpdir)/usr/bin/bochs-bin install -m755 debian/launcher \ $(tmpdir)/usr/bin/bochs cp -a debian/etc debian/tmp/ chmod 755 $(tmpdir)/etc/bochs-init/init.sh ifeq ($(DEB_HOST_ARCH_CPU),i386) cp misc/sb16/sb16ctrl \ $(tmpdir)/usr/bin/ endif install-indep: build-indep dh_testdir dh_testroot dh_prep dh_installdirs -i # bochsbios mkdir -p \ $(tmpdir)/usr/share/bochs/ cp bios/BIOS* \ $(tmpdir)/usr/share/bochs/ # bochs-doc $(MAKE) -C doc/docbook install DESTDIR=$(tmpdir) cp /usr/share/sgml/docbook/stylesheet/dsssl/modular/images/note.gif \ $(tmpdir)/usr/share/doc/bochs/images/ binary-indep: install-indep dh_testdir -i dh_testroot -i dh_install -i --sourcedir=$(tmpdir) dh_installdocs -i dh_installexamples -i dh_installchangelogs -i CHANGES dh_link -i dh_compress -i dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i binary-arch: install dh_testdir -a dh_testroot -a dh_install -a --sourcedir=$(tmpdir) dh_installdocs -a dh_installexamples -a dh_installmenu -a dh_installman -a dh_installchangelogs -a CHANGES dh_link -a dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binary: binary-indep binary-arch .PHONY: build build-arch build-indep clean install install-indep .PHONY: binary-indep binary-arch binary