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
|
#!/usr/bin/make -f
# rules file for tetradraw
PACKAGE = tetradraw
TMP = $(CURDIR)/debian/$(PACKAGE)
CFLAGS = -Wall -ggdb3 -g # from the original Makefile
INSTALL = install
INSTALL_FILE = $(INSTALL) -p -oroot -groot -m644
INSTALL_PROGRAM = $(INSTALL) -p -oroot -groot -m755
INSTALL_SCRIPT = $(INSTALL) -p -oroot -groot -m755
INSTALL_DIR = $(INSTALL) -p -d -oroot -groot -m755
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
STRIP = -strip
endif
clean:
$(checkdir)
$(checkroot)
-rm -rf $(TMP) debian/substvars debian/files \
install-stamp build-stamp configure-stamp
-$(MAKE) distclean
-rm -f ltconfig
configure: configure-stamp
configure-stamp:
$(checkdir)
./configure --prefix=/usr --mandir=\$${prefix}/share/man
touch configure-stamp
build: build-stamp
build-stamp: configure
$(checkdir)
$(MAKE) CFLAGS="$(CFLAGS)"
touch build-stamp
install: install-stamp
install-stamp: build
$(checkdir)
$(checkroot)
-rm -rf $(TMP) debian/substvars
$(INSTALL_DIR) $(TMP)
cd $(TMP) && $(INSTALL_DIR) usr/bin usr/share/man/man1 \
usr/share/doc/$(PACKAGE)
# doesn't work as expected... and it's two binaries anyway
# $(MAKE) install$(STRIP) prefix=$(TMP)/usr
$(INSTALL_PROGRAM) src/tetradraw src/tetraview $(TMP)/usr/bin
$(INSTALL_FILE) debian/tetradraw.1 $(TMP)/usr/share/man/man1
cd $(TMP)/usr/share/man/man1 && \
ln -s tetradraw.1.gz tetraview.1.gz
$(INSTALL_FILE) README THANKS TODO \
$(TMP)/usr/share/doc/$(PACKAGE)
$(INSTALL_FILE) ChangeLog \
$(TMP)/usr/share/doc/$(PACKAGE)/changelog
gzip -9 $(TMP)/usr/share/man/man1/tetradraw.1 \
$(TMP)/usr/share/doc/$(PACKAGE)/changelog
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
$(checkdir)
$(checkroot)
$(INSTALL_DIR) $(TMP)/DEBIAN $(TMP)/usr/lib/menu
$(INSTALL_FILE) debian/menu $(TMP)/usr/lib/menu/$(PACKAGE)
$(INSTALL_FILE) debian/copyright \
$(TMP)/usr/share/doc/$(PACKAGE)
$(INSTALL_FILE) debian/changelog \
$(TMP)/usr/share/doc/$(PACKAGE)/changelog.Debian
gzip -9 $(TMP)/usr/share/doc/$(PACKAGE)/changelog.Debian
$(INSTALL_SCRIPT) debian/postinst debian/postrm $(TMP)/DEBIAN
dpkg-shlibdeps -Tdebian/substvars -dDepends \
$(TMP)/usr/bin/tetra*
dpkg-gencontrol -ldebian/changelog -isp -Tdebian/substvars \
-p$(PACKAGE) -P$(TMP)
cd $(TMP) && find * -type f ! -regex '^DEBIAN/.*' -print0 | \
xargs -r0 md5sum > DEBIAN/md5sums
dpkg --build $(TMP) ..
binary: binary-indep binary-arch
define checkdir
test -f debian/rules
endef
define checkroot
test root = "`whoami`"
endef
.PHONY: clean configure build install binary-indep binary-arch binary
|