USER = magka
CC = gcc
OUTFILE = multisim
OBJECTS = cftpmain.o getp.o dom.o process.o fgetword.o treet.o rand41.o rand21.o ellipse.o threlps.o
SOURCES = cftpmain.c getp.c dom.c process.c fgetword.c treet.c rand41.c rand21.c ellipse.c threlps.c
HEADERS = cftpmain.h getp.h dom.h process.h fgetword.h ellipse.h treelps.h
CATFILES = cftpmain.h cftpmain.c getp.h getp.c fgetword.h fgetword.c ../include/tree.h ../tree/treet.c ../include/rand01.h ../random/rand41.c ../include/rand21.h ../random/rand21.c dom.h dom.c process.h process.c ellipse.h ellipse.c treelps.h threlps.c
CFLAGS = -march=i686 -malign-double -O2 -ffast-math -fomit-frame-pointer -Wall -I$(HPATH)
LOADLIBES = -lm
VPATH = ../random:../tree
HPATH = /home/$(USER)/Cfiles/include

$(OUTFILE) : $(OBJECTS) $(HEADERS) Makefile
	$(CC) $(CFLAGS) $(OBJECTS) -o $(OUTFILE) $(LOADLIBES)

%.o : %.c %.h
	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<

.PHONY : clean
clean :
	rm $(OBJECTS) $(OUTFILE)

allsource.c.bz2 : $(CATFILES)
	if test -f allsource.c.bz2 ; then rm allsource.c.bz2 ; fi
	if test -f allsource.c ; then rm allsource.c ; fi
	cat $(CATFILES) > allsource.c
	bzip2 allsource.c

.PHONY : all
all : $(OUTFILE)

.PHONY : cat
cat : allsource.c.bz2
