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 129 130 131 132 133 134 135 136 137
|
#!/usr/bin/make -f
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = yes
include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/buildflags.mk
XCFLAGS = -Wall -Wunused -Wno-format-y2k -fPIE -fno-strict-aliasing
libdir = /usr/lib/$(DEB_HOST_MULTIARCH)
GAMES = blocks checkers sudoku
EXTRA_MFLAGS = OPTIM="$(CFLAGS) $(XCFLAGS)" STRIP=@:
FLTK_CONFIG = $(DEB_HOST_GNU_TYPE)-fltk-config
PKG_CONFIG = /usr/bin/$(DEB_HOST_GNU_TYPE)-pkg-config
export PKG_CONFIG
FLUID := $(filter fluid, $(shell dh_listpackages))
%:
dh $@
override_dh_autoreconf:
# FLTK uses a hand-maintained configh.in and an autoheader-unfriendly
# configure.ac.
AUTOHEADER=/bin/true dh_autoreconf
override_dh_auto_clean:
[ -e fltk.spec.saved ] || mv fltk.spec fltk.spec.saved
# Avoid reconfigure. Removed by distclean. >> deliberate -- keeping
# existing contents allows for proper cleaning between builds.
echo 'RMDIR = rm -Rf' >> makeinclude
echo 'USEMMFILES = No' >> makeinclude
dh_auto_clean
mv fltk.spec.saved fltk.spec
override_dh_clean:
rm -rf CMakeTmp
dh_clean documentation/doxygen_sqlite3.db debian/common-build-stamp
chmod +x debian/fix-fltk-targets debian/fltk-config
override_dh_auto_configure:
[ -e fltk.spec.saved ] || mv fltk.spec fltk.spec.saved
ifneq "" "$(filter libfltk1.3-dev, $(shell dh_listpackages))"
mkdir -p CMakeTmp
dh_auto_configure -S cmake -B CMakeTmp -- -DOPTION_CAIRO:BOOL=ON \
-DOPTION_BUILD_SHARED_LIBS:BOOL=ON -DOPTION_CREATE_LINKS:BOOL=ON \
-DFLTK_BUILD_TEST:BOOL=OFF
find CMakeTmp/CMakeFiles/Export -name FLTK-Targets.cmake \
-exec debian/fix-fltk-targets debian/FLTK-Targets-head.cmake \
{} \; > CMakeTmp/etc/FLTK-Targets.cmake
find CMakeTmp/CMakeFiles/Export -name FLTK-Targets-none.cmake \
-exec debian/fix-fltk-targets {} \
debian/FLTK-Targets-none-tail.cmake \; \
> CMakeTmp/etc/FLTK-Targets-none.cmake
grep '^add_' CMakeTmp/etc/FLTK-Targets.cmake
grep '^add_' CMakeTmp/etc/FLTK-Targets-none.cmake
endif
dh_auto_configure -- FTCONFIG="$(PKG_CONFIG) freetype2" \
DSOFLAGS="$(filter-out -fPIE -pie,$(LDFLAGS))" \
--enable-shared --enable-cairo --enable-cp936 --with-links \
--with-optim=$(filter -O%,$(CXXFLAGS)) --libdir=$(libdir)
mv fltk.spec.saved fltk.spec
override_dh_auto_build-arch:
dh_auto_build -- $(EXTRA_MFLAGS) DIRS='$$(IMAGEDIRS) src cairo fluid'
$(MAKE) -C test $(EXTRA_MFLAGS) $(GAMES)
override_dh_auto_build-indep:
ifneq "" "$(filter nodoc,$(DEB_BUILD_OPTIONS))"
dh_auto_build -- $(EXTRA_MFLAGS) \
DIRS='$$(IMAGEDIRS) src cairo fluid test'
else
dh_auto_build -- $(EXTRA_MFLAGS)
$(MAKE) -C documentation html pdf
endif
override_dh_auto_install-arch:
dh_auto_install -a -- DIRS='$$(IMAGEDIRS) src cairo $(FLUID)'
mkdir -p debian/tmp/usr/games
mkdir -p debian/tmp/usr/lib/fltk
mkdir -p debian/tmp/usr/share/applications
mkdir -p debian/tmp/usr/share/icons/hicolor/32x32/apps
mkdir -p debian/tmp/usr/share/icons/hicolor/128x128/apps
mkdir -p debian/tmp/usr/share/man/man6
mkdir -p debian/tmp/usr/share/pixmaps
## fltk1.3-games (installed by hand to be able to add fl prefixes.)
for game in $(GAMES); do \
cp test/$$game debian/tmp/usr/games/fl$$game && \
sed -e 's,Exec=,&/usr/games/fl,; s,Icon=,&fl,; s,Name=,&FLTK ,' \
test/desktop/$$game.desktop \
>debian/tmp/usr/share/applications/fl$$game.desktop && \
echo 'X-AppStream-Ignore=true' \
>>debian/tmp/usr/share/applications/fl$$game.desktop && \
cp test/desktop/$$game-32.png \
debian/tmp/usr/share/icons/hicolor/32x32/apps/fl$$game.png && \
cp test/desktop/$$game-128.png \
debian/tmp/usr/share/icons/hicolor/128x128/apps/fl$$game.png && \
sed -e '1s,^\.TH ,&fl,; 3s,^,fl,' documentation/src/$$game.man \
>debian/tmp/usr/share/man/man6/fl$$game.6 \
|| exit 1; \
done
ifneq "" "$(FLUID)"
$(MAKE) -C fluid install-linux DESTDIR=$(CURDIR)/debian/tmp
endif
## libfltk1.3-dev
cp debian/CMakeCache.txt CMakeTmp/etc/*.cmake \
CMake/FLTK-Functions.cmake debian/tmp/usr/lib/fltk
sed -e 's/ -f[a-z]*-prefix-map=[^ ]*//' fltk-config \
> debian/tmp/usr/bin/$(FLTK_CONFIG)
chmod 755 debian/tmp/usr/bin/$(FLTK_CONFIG)
rm -f debian/tmp/usr/bin/fltk-config
override_dh_auto_install-indep:
ifeq "" "$(filter nodoc,$(DEB_BUILD_OPTIONS))"
dh_auto_install -i -- DIRS='test'
else
dh_auto_install -i
endif
rm -f debian/tmp/usr/bin/fltk-config
override_dh_installdocs:
dh_installdocs -A CREDITS README
override_dh_installchangelogs:
dh_installchangelogs CHANGES
for x in debian/*/usr/share/doc/*/changelog; do \
mv -v $$x `dirname $$x`/NEWS; \
done
override_dh_installman-arch:
dh_installman
ln -snfv fltk-config.1 \
debian/libfltk1.3-dev/usr/share/man/man1/$(FLTK_CONFIG).1
override_dh_missing:
dh_missing -Xusr/include/Fl
|