File: rules

package info (click to toggle)
epm 4.2-8
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,760 kB
  • ctags: 500
  • sloc: ansic: 11,089; cpp: 1,596; makefile: 333
file content (128 lines) | stat: -rwxr-xr-x 3,459 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
118
119
120
121
122
123
124
125
126
127
128
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# This is the debhelper compatability version to use.
# NOTE: now set with debian/compat per recent usage.
#export DH_COMPAT=1

# Architecture.
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)

# Build and include setup?
ifeq ($(DEB_HOST_ARCH),amd64)
INCLUDE_SETUP=yes
else ifeq ($(DEB_HOST_ARCH),i386)
INCLUDE_SETUP=yes
else
INCLUDE_SETUP=no
endif

# The FLTK static libs are built position-independent, so we need
# to enable the same for our setup tool.  It's easier to just enable
# it all around.
DEB_BUILD_MAINT_OPTIONS="hardening=+pie,+bindnow"

# Set build flags.  For wheezy+1, we will switch to using debhelper 9.
# For now, preserve compatibility with squeeze.
DPKG_EXPORT_BUILDFLAGS=1
-include /usr/share/dpkg/buildflags.mk

build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
build-stamp:
	dh_testdir

	./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
	# Add here commands to compile the package.
	$(MAKE)
	mv doc/epm-book.html doc/epm-book.html.save
	cd doc && $(MAKE)

	# Rebuild setup and uninst to be as static as possible
	# XXX: on x86 and x86_64 only for now
ifeq ($(INCLUDE_SETUP),yes)
	g++ -fPIE -pie -Wl,-z,relro -Wl,-z,now -Os -o setup setup.o setup2.o gui-common.o libepm.a -Wl,-Bstatic -lfltk_images -lpng -lz -ljpeg -lfltk -Wl,-Bdynamic -lXft -lfontconfig -lXinerama -lm -lX11
	g++  -fPIE -pie -Wl,-z,relro -Wl,-z,now -Os -o uninst uninst.o uninst2.o gui-common.o libepm.a -Wl,-Bstatic -lfltk_images -lpng -lz -ljpeg -lfltk -Wl,-Bdynamic -lXft -lfontconfig -lXinerama -lm -lX11
endif

	$(MAKE) test

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp install-stamp

	# Add here commands to clean up after the build process.
	-cd doc && $(MAKE) clean
	[ ! -f Makefile ] || $(MAKE) distclean
	rm -f mkepmlist.o

	# Remove the EPM-built portable and native packages.
	rm -rf linux-2.6-*

	# Some minor cleanup issues
	-mv doc/epm-book.html.save doc/epm-book.html
	rm -f doc/Makefile epm.list
	rm -f macosx/setup.plist macosx/uninst.plist

	# Remove dir created when building
	rm -rf linux-4.9-x86_64

	dh_clean

install: install-stamp
install-stamp: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	# Add here commands to install the package into debian/tmp.
	$(MAKE) install prefix=`pwd`/debian/epm/usr exec_prefix=`pwd`/debian/epm/usr libdir=`pwd`/debian/epm/usr/lib datadir=`pwd`/debian/epm/usr/share

	# Remove catX dirs.
	rm -rf debian/epm/usr/share/man/cat1
	rm -rf debian/epm/usr/share/man/cat5

	# Remove extra license file.
	rm -f debian/epm/usr/share/doc/epm/COPYING

	# Remove setup/uninst on unsupported arches.
ifneq ($(INCLUDE_SETUP),yes)
	rm -f debian/epm/usr/lib/epm/setup debian/epm/usr/lib/epm/uninst
endif

	touch install-stamp

# 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_installdocs
	dh_installexamples
	dh_installmenu
	dh_installman
	dh_installchangelogs 
	dh_link
	dh_strip
	dh_compress -Xpdf
	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