All pastes #19051 Raw Edit

Something

public text v1 · immutable
#19051 ·published 2005-08-02 05:56 UTC
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