
#------------------------------------------
#  OPTIONEN LINUX
#------------------------------------------
#O	= -O2 -m486
#O	= -g
#I 	= -I/usr/include

#------------------------------------------
#  OPTIONEN SUN
#------------------------------------------
O	= -O
I 	= -I/usr/local/X11R5/include

L 	= -L/usr/local/X11R5/lib -lXaw -lXmu -lXt -lXext -lX11 -lm


#------------------------------------------
#  COMPILER UND LINKER
#------------------------------------------
B	= gcc-2.3.3 $O -o
CC	= gcc-2.3.3 $O $I

#------------------------------------------
#  FUNKTIONEN DIR
#------------------------------------------
DIRh	=	dir.h dir.H
DIRc	= 	dir.c setpath.c changepath.c scandir.c
DIR	= 	dir.o setpath.o changepath.o scandir.o

dir.H:		dir.h misc.h
		touch dir.H
dir.o:		dir.H
setpath.o:	dir.o dir.H
scandir.o:	dir.o dir.H
changepath.o:	dir.o dir.H
clean::		
		rm -f $(DIR)

#------------------------------------------
#  FUNKTIONEN DIWIN
#------------------------------------------
DIWINh	=	askwin.h diwin.h diwin.H
DIWINc	= 	askwin.c diwin.c diwinmisc.c dimess.c diwinpop.c discan.c
DIWIN	= 	askwin.o diwin.o diwinmisc.o dimess.o diwinpop.o discan.o

diwin.H:	dir.h misc.h
		touch diwin.H

diwin.o:	diwin.H
diwinmisc.o:	diwin.H askwin.h
dimess.c:	diwin.H
diwinpop.o:	diwin.H
discan.o:	diwin.H
askwin.o:	askwin.h
clean::		
		rm -f $(DIWIN)

#------------------------------------------
#  FUNKTIONEN STEIO
#------------------------------------------
STEIOh	= 	ste.h steio.h stetype.h
STEIOc	= 	ste.c steio.c
STEIO	= 	ste.o steio.o

stetype.h:	netsize.h misc.h
		touch stetype.h
ste.h:		stetype.h
		touch ste.h

ste.o:		ste.h
steio.o:	ste.h celltype.h
clean::
		rm -f $(STEIO)

#------------------------------------------
#  FUNKTIONEN STEWIN
#------------------------------------------
STEWINh	= 	stewin.H stewin.h
STEWINc	= 	stewin.c stewininst.c stewinmisc.c stewinok.c stewinpop.c
STEWIN	= 	stewin.o stewininst.o stewinmisc.o stewinok.o stewinpop.o

stewin.H:	ste.h stewin.h misc.h
		touch stewin.H

stewinpop.o:	stewin.H
stewinok.o:	stewin.H
stewin.o:	stewin.H
stewininst.o:	stewin.H
stewinmisc.o:	stewin.H hasteio.h
clean::
		rm -f $(STEWIN)

#------------------------------------------
#  FUNKTIONEN TRAIO
#------------------------------------------
TRAIOh	= 	tra.h traio.h tratype.h
TRAIOc	= 	tra.c traio.c
TRAIO	= 	tra.o traio.o

tratype.h:	netsize.h misc.h
		touch tratype.h
tra.h:		tratype.h
		touch tra.h

tra.o:		tra.h
traio.o:	tra.h celltype.h
clean::
		rm -f $(TRAIO)

#------------------------------------------
#  FUNKTIONEN TRAWIN
#------------------------------------------
TRAWINh	= 	trawin.h trawin.H
TRAWINc	= 	trawin.c trawininst.c trawinmisc.c trawinok.c trawinpop.c
TRAWIN	= 	trawin.o trawininst.o trawinmisc.o trawinok.o trawinpop.o

trawin.H:	tra.h trawin.h misc.h
		touch trawin.H

trawinpop.o:	trawin.H
trawinok.o:	trawin.H
trawin.o:	trawin.H
trawininst.o:	trawin.H
trawinmisc.o:	trawin.H hatraio.h
clean::
		rm -f $(TRAWIN)

#------------------------------------------
#  FUNKTIONEN KAIO
#------------------------------------------
KAIOh	= 	ka.h kaio.h katype.h kachange.h
KAIOc	= 	ka.c kaio.c kachange.c
KAIO	= 	ka.o kaio.o kachange.o

katype.h:	netsize.h misc.h
		touch katype.h
ka.h:		katype.h
		touch ka.h

ka.o:		ka.h
kaio.o:		ka.h celltype.h ste.h tra.h 
kachange.o:	ka.h celltype.h
clean::
		rm -f $(KAIO)

#------------------------------------------
#  FUNKTIONEN KAWIN
#------------------------------------------
KAWINh	= 	kawin.h kawin.H
KAWINc	= 	kawin.c kawininst.c kawinmisc.c kawinok.c kawinpop.c
KAWIN	= 	kawin.o kawininst.o kawinmisc.o kawinok.o kawinpop.o

kawin.H:	ka.h kawin.h misc.h
		touch kawin.H

kawinpop.o:	kawin.H
kawinok.o:	kawin.H
kawin.o:	kawin.H
kawininst.o:	kawin.H
kawinmisc.o:	kawin.H hakaio.h
clean::
		rm -f $(KAWIN)


#------------------------------------------
#  FUNKTIONEN HAWIN
#------------------------------------------
HAWINh	= 	hastepmisc.h habreakmisc.h hadatmisc.h hasetmisc.h\
		haneumisc.h hadelmisc.h halook.h harefreshx.h\
		hawin.h hawininst.h hagraph.h hamess.h hamem.h\
		hawin.h hawin.H haka.H hamove.h

HAWINc	= 	hastepmisc.c habreakmisc.c hadatmisc.c hasetmisc.c\
		haneumisc.c hadelmisc.c halook.c harefreshx.c\
		hawin.c hawininst.c hagraph.c hamess.c hamem.c hamove.c

HAWIN	= 	hastepmisc.o habreakmisc.o hadatmisc.o hasetmisc.o\
                haneumisc.o hadelmisc.o halook.o harefreshx.o\
		hawin.o hawininst.o hagraph.o hamess.o hamem.o hamove.o

hastepmisc.o:	sim.h simget.h habreakmisc.h misc.h sim.h netsize.h\
		hatramisc.h hatra.h hawin.h ste.h simstep.h hamess.h\
		simfire.h
habreakmisc.o:	habreakmisc.h hawin.h simbreak.h misc.h celltype.h\
		hatramisc.h hastemisc.h haste.h hatra.h hawin.h hamess.h
hadatmisc.o:	hawin.h diwin.h
hasetmisc.o:	hawin.h 
haneumisc.o:	hakaio.h hatraio.h hasteio.h haka.H ste.h tra.h\
		hawin.h haka.h
hadelmisc.o:	hawin.h celltype.h hakaio.h hasteio.h hatraio.h hamess.h
halook.o:	hawin.h celltype.h kawin.h trawin.h stewin.h
harefreshx.o:	ka.h hakadraw.h ste.h hatra.h haste.h haka.h hastemarke.h\
		hastename.h cell.h hatraname.h hastemisc.h 
hawin.o:
hawininst.o:	hawin.h halook.h hastemisc.h hatramisc.h hakasets.h\
		hakasete.h hakasetz.h hakamisc.h netsize.h misc.h
hagraph.o:	hawin.h misc.h colors netsize.h
hamess.o:	hawin.h
hamem.o:	hamem.h netsize.h hawin.h ste.h stetype.h
hamove.o:	hamove.h hasteio.h hawin.h hastemisc.h netsize.h cellkaget.h hamess.h
clean::
		rm -f $(HAWIN)

#------------------------------------------
#  FUNKTIONEN HATRA
#------------------------------------------
HATRAh = 	hatraio.h hatra.h hatramisc.h hatraname.h
HATRAc = 	hatraio.c hatra.c hatramisc.c hatraname.c
HATRA = 	hatraio.o hatra.o hatramisc.o hatraname.o

hatraio.o:	hatraname.h haka.H celltra.h harefreshx.h\
		traio.h hatra.h
hatra.o:
hatramisc.o:	hawin.h tra.h hatra.h trawin.h hagraph.h hamess.h\
		celltra.h cell.h colors
hatraname.o:	hawin.h hatra.h tra.h cellname.h harefreshx.h
clean::	
		rm -f $(HATRA)

#------------------------------------------
#  FUNKTION CELL
#------------------------------------------
CELLh 	=	cellkaio.h cellmisc.h cellname.h cellrefr.h cellorg.h\
		celldel.h celltra.h cellste.h cellein.h cell.h cellkadel.h\
		cellkaget.h cellkalook.h cellget.h celltype.h cellkaein.h cell.H

CELLc 	=	cellkaio.c cellmisc.c cellname.c cellrefr.c cellorg.c\
		celldel.c celltra.c cellste.c cellein.c cell.c\
		cellkaget.c cellkalook.c cellget.c

CELL 	=	cellkaio.o cellmisc.o cellname.o cellrefr.o cellorg.o\
		celldel.o celltra.o cellste.o cellein.o cell.o\
		cellkaget.o cellkalook.o cellget.o

cell.H:		netsize.h
		touch cell.H
celltype.h:	netsize.h
		touch celltype.h
cell.h:		celltype.h
		touch cell.h

cellkaio.o:	cell.H cell.h cellein.h celldel.h ka.h ste.h tra.h
cellname.o:	cell.h cell.H celldel.h cellein.h tra.h ste.h misc.h
cellrefr.o:	cell.h
cellorg.o:	celltype.h ste.h tra.h ka.h
celldel.o:	cell.H celltype.h cellorg.h cellrefr.h
cellmisc.o:	cell.h misc.h
celltra.o:	cell.h cell.H tra.h
cellste.o:	cell.h cell.H ste.h cellein.h
cellein.o:	celltype.h
cell.o:		
cellkaget.o:	cell.h cell.H misc.h
cellkalook.o:	cell.h cell.H 
cellget.o:	cell.h cell.H
clean::
		rm -f $(CELL)

#------------------------------------------
#  FUNKTIONEN HAKA
#------------------------------------------
HAKAh 	= 	hakaio.h hakamisc.h hakadraw.h hakasetp.h haka.h\
		hakasets.h hakasetz.h hakasete.h hakaclip.h\
		hakachange.h hakadelta.h haka.H

HAKAc 	= 	hakaio.c hakamisc.c hakadraw.c hakasetp.c haka.c\
		hakasets.c hakasetz.c hakasete.c hakaclip.c\
		hakachange.c hakadelta.c

HAKA 	= 	hakaio.o hakamisc.o hakadraw.o hakasetp.o haka.o\
		hakasets.o hakasetz.o hakasete.o hakaclip.o\
		hakachange.o hakadelta.o

haka.h:		katype.h misc.h
		touch haka.h
haka.H:		netsize.h hawin.h
		touch haka.H

hakaio.o:	ka.h ste.h tra.h hakadelta.h celltype.h cellkadel.h\
		harefreshx.h kaio.h
hakamisc.o:	haka.h hagraph.h colors hamess.h haka.H
hakadraw.o:	haka.H ste.h tra.h ka.h hakasetp.h misc.h hakaclip.h\
		celltype.h
hakasetp.o:	hawin.h
haka.o:		haka.h
hakasets.o:	haka.h haka.H cellkaget.h hamess.h celltype.h ste.h tra.h
hakasetz.o:	haka.h haka.H kawin.h ste.h tra.h ka.h hamess.h hakadraw.h\
		cellkalook.h kaio.h cellein.h hakamisc.h
hakasete.o:	haka.h haka.H cellkalook.h hamess.h celltype.h katype.h
hakaclip.o:	haka.H ste.h tra.h celltype.h
hakachange.o:	haka.h haka.H ka.h celltype.h hakadraw.h hakadelta.h\
		hamess.h cellmisc.h ste.h tra.h kachange.h cellkadel.h\
		cellkaein.h
hakadelta.o:	hawin.h haka.h ka.h colors cellname.h
clean::	
		rm -f $(HAKA)

#------------------------------------------
#  FUNKTIONEN HASTE
#------------------------------------------
HASTEh 	= 	hasteio.h hastemisc.h haste.h hastemarke.h hastename.h
HASTEc 	= 	hasteio.c hastemisc.c haste.c hastemarke.c hastename.c
HASTE 	= 	hasteio.o hastemisc.o haste.o hastemarke.o hastename.o

hasteio.o:	hastemarke.h hastename.h haka.H cellste.h harefreshx.h\
		haste.h stetype.h misc.h
hastemisc.o:	haste.h hawin.h colors stewin.h ste.h hastemarke.h\
		hagraph.h hamess.h celltype.h steio.h
hastemarke.o:	hawin.h ste.h colors hagraph.h
haste.o:	
hastename.o:	hawin.h haste.h ste.h cellname.h harefreshx.h
clean::		
		rm -f $(HASTE)


#------------------------------------------
#  FUNKTIONEN FILE
#------------------------------------------
FILEh 	=	fileio.h filesteio.h filetraio.h filekaio.h
FILEc 	=	fileio.c filesteio.c filetraio.c filekaio.c
FILE 	=	fileio.o filesteio.o filetraio.o filekaio.o

fileio.o:	filesteio.h filetraio.h filekaio.h misc.h haka.H
filesteio.o:	ste.h misc.h hasteio.h
filekaio.o:	ka.h ste.h misc.h hakaio.h
clean::
		rm -f $(FILE)

#------------------------------------------
#  FUNKTION SIM
#------------------------------------------
SIMh 	=	simkon.h sim.h simmisc.h simaktiv.h simget.h simbreak.h\
		simfire.h simstep.h

SIMc 	=	simkon.c sim.c simmisc.c simaktiv.c simget.c simbreak.c\
		simfire.c simstep.c

SIM 	=	simkon.o sim.o simmisc.o simaktiv.o simget.o simbreak.o\
		simfire.o simstep.o

simkon.o:	simkon.h ka.h netsize.h sim.h
sim.o:		sim.h netsize.h celltype.h
simmisc.o:	simmisc.h sim.h ste.h netsize.h
simaktiv.o:	simaktiv.h sim.h ka.h tra.h
simget.o:	simget.h sim.h tra.h
simbreak.o:	simbreak.h sim.h celltype.h misc.h
simfire.o:	simfire.h hasetmisc.h simmisc.h simaktiv.h
simstep.o:	simstep.h sim.h misc.h ka.h tra.h ste.h celltype.h\
		simbreak.h
clean::		
		rm -f $(SIM)

#------------------------------------------
#  FUNKTION STEPS
#------------------------------------------
STEPSh 	=	steps.h stepsinst.h stepspop.h
STEPSc 	=	steps.c stepsinst.c stepspop.c
STEPS 	=	steps.o stepsinst.o stepspop.o

steps.o:	steps.h
stepsinst.o:	steps.h stepsinst.h stepspop.h
stepspop.o:	steps.h stepspop.h
clean::
		rm -f $(STEPS)

#------------------------------------------
#  FUNKTION HI
#------------------------------------------
HIh	= 	hi.h
HIc	= 	hi.c
HI	= 	hi.o

hi.o:		hi.h hawin.h misc.h
clear::		
		rm -f $(HI)

#------------------------------------------
#  ICONS
#------------------------------------------
ICONS 	=	ihadel 	 ihaka   ihamemi    ihamemo  ihasave ihaste\
		ihasub   ihatra  ihaunbreak ikadel   istedel istemov\
		istemovn itradel itramov    itramovn ihastep

#------------------------------------------
#  FUNKTION PNS
#------------------------------------------
PNSh	=	misc.h netsize.h
PNSc 	= 	pns.c pnsres.c
PNS 	= 	pns.o pnsres.o

pnsres.o:	
pns.o:		hawin.H
clean::		
		rm -f $(PNS)

#------------------------------------------
#  BIBLIOTHEK LIBPNS
#------------------------------------------
Gh =	$(HIh)    $(STEPSh) $(SIMh)   $(FILEh)   $(DIWINh)  $(DIRh)\
	$(HATRAh) $(KAWINh) $(HASTEh) $(STEWINh) $(HAKAh)   $(CELLh)\
	$(PNSh)   $(STEIOh) $(TRAIOh) $(KAIOh)   $(TRAWINh) $(HAWINh)

Gc =	$(HIc)    $(STEPSc) $(SIMc)   $(FILEc)   $(DIWINc)  $(DIRc)\
	$(HATRAc) $(KAWINc) $(HASTEc) $(STEWINc) $(HAKAc)   $(CELLc)\
	$(PNSc)   $(STEIOc) $(TRAIOc) $(KAIOc)   $(TRAWINc) $(HAWINc)

G =	$(HI)    $(STEPS) $(SIM)   $(FILE)   $(DIWIN)  $(DIR)\
	$(HATRA) $(KAWIN) $(HASTE) $(STEWIN) $(HAKA)   $(CELL)\
	$(PNS)   $(STEIO) $(TRAIO) $(KAIO)   $(TRAWIN) $(HAWIN)


libpns.sa:	$G
		ar uvs libpns.sa $G

#------------------------------------------
#  PROGRAMM PNS
#------------------------------------------
Z =	$G
#Z =	libpns.sa


pns:		$Z
		$B pns $Z $L

pns.o:		hawin.H
clean::		
		rm -f pns.o

#------------------------------------------
#  PROGRAMM GENRES
#------------------------------------------
genres:		genres.o
		$B genres genres.o $L

genres.o:
clean::		
		rm -f genres.o

#------------------------------------------
#  NETFILES
#------------------------------------------
NET = 		a.net a1.net add.net sub.net sub2.net mult.net\
		phil.net rw.net


#------------------------------------------
#  SICHERUNG
#------------------------------------------
SICHERUNG  =  	*.h *.H *.c colors pns.hlp makefile files pns.shell\
		pfad $(ICONS) xpns pfadl pns

sich::
		tar -cvf pnsu.tar $(SICHERUNG)
sich::	
		mcopy -n pnsu.tar b:
sich:: 	
		rm -f pnsu.tar core DEAD* *% *~
clean::
		rm -f DEAD* core *% *~


#------------------------------------------
#  COPYsource
#------------------------------------------
COPYsource    = $(Gc) $(Gh) makefile files pns.shell $(ICONS)\
		colors pns.hlp pns xpns pfadl $(NET) README

d = 

cps:
		cp $(COPYsource) $d

#------------------------------------------
#  COPYexec
#------------------------------------------
COPYexec    = 	pns pns.shell pns.hlp xpns $(NET) README

d = 

cpe:
		cp $(COPYexec) $d






