# make-c -- template for a c project makefile # Carlos Duarte, 980524 VERSION = 0.1 PACKAGE = pack-name-$(VERSION) CC = gcc CFLAGS = -Wall -O2 -pipe DEFS = # -D stuff INCS = # -I stuff LIBS = # -L stuff -l stuff PROG = xpto # name of the program CFILES = $(wildcard *.c) OFILES = $(CFILES:.c=.o) .c.o: $(CC) $(CFLAGS) $(DEFS) $(INCS) -c $< all: $(PROG) $(PROG): $(OFILES) $(CC) $(LIBS) $(OFILES) -o $@ clean: rm -f a.out $(OFILES) dep: sed '/^## SELF MADE MAKE, DO NOT REMOVE ME/q' < Makefile > Makefile.1 $(CC) -MM $(CFILES) >> Makefile.1 rm -f Makefile.bak mv Makefile Makefile.bak mv Makefile.1 Makefile dist: $(PACKAGE).tar.gz $(PACKAGE).tar.gz : $(PACKAGE).tar gzip $(PACKAGE).tar $(PACKAGE).tar : rm -f $@ find . ! -type d -print | sed \ -e '/\/RCS\/.*,v$$/d' \ -e '/\/RCS$$/d' \ -e 's/^./$(PACKAGE)/' | sort > /tmp/@$$.= pwd | (cd .. && ln -s `cat` $(PACKAGE) && \ tar cf $(PACKAGE).tar `cat /tmp/@$$.=` && \ mv $(PACKAGE).tar $(PACKAGE) && \ cd $(PACKAGE) && \ rm ../$(PACKAGE) /tmp/@$$.= ) ## SELF MADE MAKE, DO NOT REMOVE ME