diff Makefile @ 3:dc2f94280b01

new Makefile; removed MinWarn and MaxWarn; adjusted manpage
author meillo@marmaro.de
date Mon, 17 Dec 2007 11:28:40 +0100
parents 8534f0e3a0db
children 5af6bf2cb271
line wrap: on
line diff
--- a/Makefile	Mon Dec 17 08:02:15 2007 +0100
+++ b/Makefile	Mon Dec 17 11:28:40 2007 +0100
@@ -1,34 +1,80 @@
-######################################################################
-# birthday. Reminder of birthdays and other events in the near future.
-# $Id: Makefile.in,v 1.3 2000/01/02 19:17:33 andy Exp $
+# bday by meillo@marmaro.de
 
 
-CFLAGS=-O2 -Wall -Wstrict-prototypes
+NAME=bday
+VERSION = 0.1
+NV=${NAME}-${VERSION}
 
+DOCS=COPYRIGHT ChangeLog TODO
+
+# paths
+PREFIX = /usr
+BINDIR = ${PREFIX}/bin
+MANDIR = ${PREFIX}/share/man
 
 SRC=birthday.c bdengine.c
 OBJ=$(SRC:.c=.o)
-EXE=bday
+
+CFLAGS=-O2 -Wall -Wstrict-prototypes
 
-all: ${EXE}
+all:
+	@echo usage: make [un]install
 
-${EXE}: $(OBJ)
+build: ${NAME}
+
+${NAME}: $(OBJ)
 	$(CC) $(LDFLAGS) $(OBJ) -o $@
 
+dist: build changelog
+	@mkdir -p ${NV}
+	@cp -f ${NAME} ${NAME}.1 Makefile ${DOCS} ${NV}
+	@tar -czhof ${NV}.tar.gz ${NV}
+	@rm -rf ${NV}
 
-install: all
-	@echo "installing program in $(DESTDIR)/usr/bin"
-	mkdir -p $(DESTDIR)/usr/bin
-	cp ${EXE} $(DESTDIR)/usr/bin/${EXE}
-	chmod 0755 $(DESTDIR)/usr/bin/${EXE}
-	@echo "installing manpage in $(DESTDIR)/usr/share/man/man1"
-	mkdir -p $(DESTDIR)/usr/share/man/man1
-	cp ${EXE}.1 $(DESTDIR)/usr/share/man/man1/${EXE}.1
-	chmod 0644 $(DESTDIR)/usr/share/man/man1/${EXE}.1
+deb: dist
+	@mkdir -p Packages
+	@cp ${NV}.tar.gz Packages/
+	@( \
+		cd Packages/ ;\
+		tar -xzf ${NV}.tar.gz ;\
+		mv ${NV}.tar.gz ${NAME}_${VERSION}.orig.tar.gz ;\
+		cd ${NV}/ ;\
+		cp -r ../../debian/ . ;\
+		debuild ;\
+	 )
+
+changelog:
+	@echo generating changelog from mercurial log
+	@hg log -v --style changelog > ChangeLog
+
+install:
+	@echo installing executable file to ${DESTDIR}${BINDIR}
+	@mkdir -p ${DESTDIR}${BINDIR}
+	@cp ${NAME} ${DESTDIR}${BINDIR}
+	@chmod 755 ${DESTDIR}${BINDIR}/${NAME}
+	@echo installing manual page to ${DESTDIR}${MANDIR}/man1
+	@mkdir -p ${DESTDIR}${MANDIR}/man1
+	@sed 's/VERSION/${VERSION}/g' < ${NAME}.1 > ${DESTDIR}${MANDIR}/man1/${NAME}.1
+	@chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1
+
+uninstall:
+	@echo removing executable file from ${DESTDIR}${BINDIR}
+	@rm -f ${DESTDIR}${BINDIR}/${NAME}
+	@echo removing manual page from ${DESTDIR}${MANDIR}/man1
+	@rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1
 
 
 clean:
 	rm -f *.o
 
 realclean: clean
-	rm -f ${EXE}
+	rm -f ${NAME}
+
+distclean: realclean
+	@rm -f ${NAME}-*.tar.gz ChangeLog
+
+debclean: distclean
+	@cd Packages/${NV}/ ; debuild clean ;
+
+
+.PHONY: all dist deb changelog clean distclean debclean build install uninstall