rendered paste body#!/usr/bin/make -f
#name
package=clex
# Function to check if we're in the correct dir
define checkdir
@test -f debian/rules -a -f src/clex.h || (echo Not in correct source directory; exit 1)
endef
# Function to check if we're root
define checkroot
@test $$(id -u) = 0 || (echo need root priviledges; exit 1)
endef
# Top directory of the source code (thanks Manoj)
SRCTOP := $(shell if [ "$$PWD" != "src" ]; then echo $$PWD; else pwd; fi)
DESTDIR = $(SRCTOP)/debian/$(package)
CONFDIR = $(SRCTOP)/debian/
BIN_DIR = $(DESTDIR)/usr/bin
MAN_DIR = $(DESTDIR)/usr/share/man/man1
configure-stamp:
$(checkdir)
./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
touch configure-stamp
build-stamp: configure-stamp
$(checkdir)
-rm -f build-stamp
$(MAKE)
touch build-stamp
build: build-stamp
clean: configure-stamp
$(checkdir)
-rm -f *-stamp
$(MAKE) distclean
-rm -rf debian/$(package)
-rm -f debian/files
-rm -f debian/substvars
binary-indep: build
# Definitions for install
INST_OWN = -o root -g root
MAKE_DIR = install -p -d $(INST_OWN) -m 755
INST_FILE = install -c $(INST_OWN) -m 644
INST_PROG = install -c $(INST_OWN) -m 755 -s
INST_SCRIPT = install -c $(INST_OWN) -m 755
binary-arch: build
$(checkdir)
$(checkroot)
# Install Program
$(MAKE) install DESTDIR=$(DESTDIR) LIBTOOL=libtool
# Install Program Resources
$(MAKE_DIR) $(SHARE_DIR)
# $(INST_FILE) road.bmp $(SHARE_DIR)
$(MAKE_DIR) $(DESTDIR)/DEBIAN
# Install Docs
$(MAKE_DIR) $(DOCS_DIR)
$(INST_FILE) debian/copyright $(DOCS_DIR)/copyright
# $(INST_FILE) debian/changelog $(DOCS_DIR)/changelog.Debian
$(INST_FILE) README $(DOCS_DIR)/README
# Install Manpages
# $(MAKE_DIR) $(MAN_GAMES_DIR)
# $(INST_FILE) roaddemo.6 $(MAN_GAMES_DIR)
# Install Menu and Icon
# $(MAKE_DIR) $(MENU_DIR)
# $(INST_FILE) debian/menu $(MENU_DIR)/roaddemo
# $(MAKE_DIR) $(PIXMAPS_DIR)
# $(INST_FILE) debian/roaddemo.xpm $(PIXMAPS_DIR)
# Install Package Management Scripts
# $(INST_SCRIPT) debian/postinst $(DESTDIR)/DEBIAN
# $(INST_SCRIPT) debian/postrm $(DESTDIR)/DEBIAN
# Compress Docs (thanks Helen)
# sgzip -9 $(DOCS_DIR)/changelog
# gzip -9 $(MAN_GAMES_DIR)/roaddemo.6
# Strip the symbols from the executable (thanks Helen)
strip -R .comment $(BIN_DIR)/clex
# Work out the shared library dependancies (thanks Helen)
dpkg-shlibdeps src/$(package)
# Generate the file (thanks Helen)
dpkg-gencontrol -isp -P$(DESTDIR)
# Make DEBIAN/md5sums (thanks Helen)
cd $(DESTDIR) && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums
cd $(DESTDIR) &&
# Create the .deb package (thanks Helen)
dpkg-deb -b $(DESTDIR) ../
# Below here is fairly generic really
binary: binary-indep binary-arch
.PHONY: binary binary-arch binary-indep clean build