File: rules

package info (click to toggle)
refit 0.12-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 2,280 kB
  • ctags: 2,663
  • sloc: ansic: 13,451; sh: 1,418; python: 631; objc: 319; makefile: 83; perl: 45
file content (117 lines) | stat: -rwxr-xr-x 3,177 bytes parent folder | download
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