1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# Debian version
DEBVER = $(shell dpkg-parsechangelog | grep ^Version | cut -d' ' -f 2)
include /usr/share/dpatch/dpatch.make
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
build: build-stamp
build-stamp: patch-stamp
dh_testdir
# Generate include/syslinux_mbr.h
chmod +x debian/mbr/mkmbrhdr.py
debian/mbr/mkmbrhdr.py /usr/lib/syslinux/mbr.bin > include/syslinux_mbr.h
# Move the AA font in place
cp -f debian/font/egemb_font.h libeg/
# Build 32bit EFI applications
mkdir libeg/build32
$(MAKE) -C libeg/build32 -f ../Makefile SRCDIR=$(CURDIR)/libeg ARCH=ia32
mkdir refit/build32
$(MAKE) -C refit/build32 -f ../Makefile SRCDIR=$(CURDIR)/refit ARCH=ia32 DEBVER="ia32 (Debian $(DEBVER))"
mkdir gptsync/build32
$(MAKE) -C gptsync/build32 -f ../Makefile.gnuefi SRCDIR=$(CURDIR)/gptsync ARCH=ia32
# Build 64bit EFI applications
mkdir libeg/build64
$(MAKE) -C libeg/build64 -f ../Makefile SRCDIR=$(CURDIR)/libeg ARCH=x86_64
mkdir refit/build64
$(MAKE) -C refit/build64 -f ../Makefile SRCDIR=$(CURDIR)/refit ARCH=x86_64 DEBVER="x86_64 (Debian $(DEBVER))"
mkdir gptsync/build64
$(MAKE) -C gptsync/build64 -f ../Makefile.gnuefi SRCDIR=$(CURDIR)/gptsync ARCH=x86_64
# Assemble fat binaries
mkdir fat-binaries
./fatglue.py fat-binaries/refit.efi refit/build32/refit.efi refit/build64/refit.efi
mkdir fat-binaries/tools
./fatglue.py fat-binaries/tools/gptsync.efi gptsync/build32/gptsync.efi gptsync/build64/gptsync.efi
# Build the gptsync command-line utility
mkdir gptsync/buildux
$(MAKE) -C gptsync/buildux -f ../Makefile.unix SRCDIR=$(CURDIR)/gptsync
touch $@
clean: unpatch
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
rm -rf libeg/build32 libeg/build64
rm -rf refit/build32 refit/build64
rm -rf gptsync/build32 gptsync/build64 gptsync/buildux
rm -rf fat-binaries
# Remove the MBR code
rm -f include/syslinux_mbr.h
# Remove the AA font
rm -f libeg/egemb_font.h
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_install
chmod 0644 $(CURDIR)/debian/refit/usr/lib/refit/ia32/*
chmod 0644 $(CURDIR)/debian/refit/usr/lib/refit/x64/*
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
|