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