#!/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