INCDIR	  = -I.
INSTALLDIR = /home/jens/distribution/tud
#normal cflags
#CFLAGS	  =  -Dkickwarn -Wall -O1 $(INCDIR) 
#cflags for debugging

#MOD_DEBUG_FLAGS = -DDEBUG_menu_H

CFLAGS	  = -Wpointer-arith -Wcast-align -Dkickwarn $(MOD_DEBUG_FLAGS) -Wall -ggdb $(INCDIR) 
LFLAGS	  = -lm -ggdb

GRAPHLFLAGS = -L/usr/X11R6/lib -lX11 -lXext $(LFLAGS)
#GRAPHLFLAGS = -L/usr/X11R6/lib -lefence -lX11 -lXext $(LFLAGS)
CC	  = g++



.SUFFIXES:



#.SUFFIXES: .C .o
#.C.o:
#	$(CC) $(INCDIR) -c $(CFLAGS) $<

.SUFFIXES: .H .doc
.H.doc:
	@echo "Making $@"
	@docify $< > $*.doc 2>/dev/null


all:    depend ../teststream ../testspr ../testvektor ../tudserver ../tudclient ../dieb \
	../ppmtospr ../makepal ../makeuntergrund pictures doc

depend:
	rm -f depend
	-$(CC) -MM *.C >depend

include depend

%.o: %.C
	$(CC) $(INCDIR) -c $(CFLAGS) $<

clean:	
	rm -f $(testsprOBJ) ../testspr \
	$(teststreamOBJ) ../teststream \
	$(testvektorOBJ) ../testvektor \
	$(tudserverOBJ) ../tudserver \
	$(tudclientOBJ) ../tudclient \
	$(diebOBJ) ../dieb \
	$(makeuntergrundOBJ) ../makeuntergrund \
	$(paldiebOBJ) ../paldieb \
	$(ppmtosprOBJ) ../ppmtospr \
	$(flussOBJ) ../fluss \
	$(makepalOBJ) ../makepal \
	html/* ./*.doc depend




doc:	textfata.doc sprite01.doc listen2.doc menu.doc tudinc.doc tudinc_server.doc tudinc_client.doc vektor.doc communic.doc iotype.doc datei.doc scrX11.doc
	doc++ -d html *.doc
install:
	mkdir $(INSTALLDIR)
	cp -a ../* $(INSTALLDIR)
	rm -f -v $(INSTALLDIR)/testspr
	rm -f -v $(INSTALLDIR)/teststream
	rm -f -v $(INSTALLDIR)/testvektor
	rm -f -r -v $(INSTALLDIR)/src
	rm -f -v $(INSTALLDIR)/spr_src/*.ppm
	rm -f -r -v $(INSTALLDIR)/lbm
	rm -f -v $(INSTALLDIR)/dieb $(INSTALLDIR)/fluss $(INSTALLDIR)/flusspal.ppm $(INSTALLDIR)/*~
	rm -f -v $(INSTALLDIR)/makeuntergrund
	rm -f -v $(INSTALLDIR)/spr_src/tmp/*
	rm -f -r -v $(INSTALLDIR)/spr_src/.xvpics
	strip $(INSTALLDIR)/tudserver
	strip $(INSTALLDIR)/tudclient
	strip $(INSTALLDIR)/ppmtospr
	strip $(INSTALLDIR)/makepal
	find $(INSTALLDIR) -iname "*~"|xargs rm -vf
	@echo - TUD installed -
SOURCE =\
	textfata.C communic.C iotype.C mystream.C datei.C\
	vektor.C\
	sprite01.C scrX11.C \
	menu.C \
	testspr.C \
	teststream.C \
	testvektor.C \
	tudinc.C \
	tudinc_server.C \
	tudserver.C \
	tudinc_client.C \
	tudclient.C \
	dieb.C \
	makeuntergrund.C \
	paldieb.C \
	ppmtospr.C \
	makepal.C \
	fluss.C \
	yyysound_client_noexception.C



# Objektabhaengigkeiten !!

textfataOBJ=\
	textfata.o

communicOBJ=\
	$(textfataOBJ) communic.o

iotypeOBJ=\
	$(textfataOBJ) iotype.o

mystreamOBJ=\
	mystream.o

dateiOBJ=\
	$(iotypeOBJ) datei.o

listen2OBJ=\
	$(iotypeOBJ) $(mystreamOBJ)

vektorOBJ=\
	$(listen2OBJ) vektor.o

sprite01OBJ=\
	$(dateiOBJ) vektor.o $(mystreamOBJ) sprite01.o

menuOBJ=\
	$(sprite01OBJ) menu.o

scrX11OBJ=\
	$(menuOBJ) scrX11.o

testsprOBJ=\
	$(scrX11OBJ) testspr.o

teststreamOBJ=\
	$(listen2OBJ) teststream.o

testvektorOBJ=\
	$(vektorOBJ) testvektor.o

tudincOBJ=\
	tudinc.o

tudinc_serverOBJ=\
	tudinc_server.o

tudserverOBJ=\
	$(sprite01OBJ) $(tudincOBJ) $(tudinc_serverOBJ) communic.o tudserver.o

soundOBJ=\
	yyysound_client_noexception.o

tudinc_clientOBJ=\
	tudinc_client.o

tudclientOBJ=\
	$(scrX11OBJ) $(tudincOBJ) $(tudinc_clientOBJ) $(soundOBJ) communic.o tudclient.o 

diebOBJ=\
	$(scrX11OBJ) dieb.o

makeuntergrundOBJ=\
	$(scrX11OBJ) makeuntergrund.o

paldiebOBJ=\
	$(scrX11OBJ) paldieb.o

ppmtosprOBJ=\
	$(sprite01OBJ) ppmtospr.o

makepalOBJ=\
	$(sprite01OBJ) makepal.o

flussOBJ=\
	$(scrX11OBJ) fluss.o


# Compile Marken !!!

# Die eigentlich wichtigen !

../testspr:$(testsprOBJ)
	$(CC) $(testsprOBJ) -o ../testspr $(GRAPHLFLAGS) 

../teststream: $(teststreamOBJ)
	$(CC) $(teststreamOBJ) -o ../teststream $(LFLAGS)

../testvektor: $(testvektorOBJ)
	$(CC) $(testvektorOBJ) -o ../testvektor $(LFLAGS)

../tudserver:$(tudserverOBJ)
	$(CC) $(tudserverOBJ) -o ../tudserver $(LFLAGS)

../tudclient:$(tudclientOBJ)
	$(CC) $(tudclientOBJ) -o ../tudclient $(GRAPHLFLAGS)

../dieb:$(diebOBJ)
	$(CC) $(diebOBJ) -o ../dieb $(GRAPHLFLAGS)

../makeuntergrund:$(makeuntergrundOBJ)
	$(CC) $(makeuntergrundOBJ) -o ../makeuntergrund $(GRAPHLFLAGS)

../paldieb:$(paldiebOBJ)
	$(CC) $(paldiebOBJ) -o ../paldieb $(GRAPHLFLAGS)

../ppmtospr:$(ppmtosprOBJ)
	$(CC) $(ppmtosprOBJ) -o ../ppmtospr $(LFLAGS)

../makepal:$(makepalOBJ)
	$(CC) $(makepalOBJ) -o ../makepal $(LFLAGS)

../fluss:$(flussOBJ)
	$(CC) $(flussOBJ) -o ../fluss $(GRAPHLFLAGS)

pictures:
	(cd ../spr_src;make)


