# 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

