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
|
#!/usr/bin/make -f
# Architecture.
include /usr/share/dpkg/architecture.mk
# 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
SETUP_LINK=g++ -fPIE -pie -Wl,-z,relro -Wl,-z,now -Os
SETUP_LIBS=libepm.a -Wl,-Bstatic -lfltk_images -lpng -lz -ljpeg -lfltk \
-lXcursor -lXrender -lXext -lXfixes -Wl,-Bdynamic -lXft \
-lfontconfig -lXinerama -lm -lX11 -ldl
# 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
prefix=/usr
%:
dh $@ --without autoreconf
override_dh_auto_configure:
./configure --build=$(DEB_HOST_MULTIARCH) \
--prefix=$(prefix) \
--includedir=$(prefix)/include \
--mandir=$(prefix)/share/man \
--infodir=$(prefix)/share/info \
--sysconfdir=/etc \
--localstatedir=/var \
--disable-option-checking \
--disable-silent-rules \
--libdir=$(prefix)/lib/$(DEB_HOST_MULTIARCH) \
--disable-maintainer-mode \
--disable-dependency-tracking \
GZIP=/bin/gzip \
override_dh_auto_build:
$(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)
$(SETUP_LINK) -o setup setup.o setup2.o gui-common.o $(SETUP_LIBS)
$(SETUP_LINK) -o uninst uninst.o uninst2.o gui-common.o $(SETUP_LIBS)
endif
override_dh_auto_test:
$(MAKE) test
override_dh_auto_clean:
dh_auto_clean
-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
override_dh_auto_install:
dh_auto_install
# 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
|