# PLEASE NOTE THE LINES FOLLOWING "COMMENT" # ----------------------------------------------------------------------------+ # (c) AG Programmbau FH Worms address@hidden + # ----------------------------------------------------------------------------+ # HTTP Server in C++ + # ----------------------------------------------------------------------------+ # Datei: HTTP/Server/C++/Code/Nachrichten/XDebug.mk # AutorIn: w.doeringer(@acm.org) # Beschreibung: Make Datei fuer die Nachrichten-Bibliothek # System: GNU - Linux [, Solaris] # Revision: 2002/12/16 # ----------------------------------------------------------------------------- # # --- Die Variable MakePStd muss auf das allgemeine Make-Verzeichnis zeigen --- include $(MakePStd)/C++/XDbgCpp.Inc # Projekt-spezifische Definitionen include ../../Make/XDbgCppProj.Inc # # Compiler Optionen # # --- Die generische Pseudo-Zieldatei ----------------------------------------- all: $(LibP)/NachrichtenDbg.a \ tCdaten \ tCn \ tCnDELETE \ tCnGET \ tCscanner \ tCscannerIn \ tNamen # # --- Die Bibliothek --------------------------------------------------------- # $(LibP)/NachrichtenDbg.a : \ NachrichtenDbg.a cp NachrichtenDbg.a $(LibP) # NachrichtenDbg.a: \ Cscanner.o \ Cdaten.o \ Cn.o \ CnDELETE.o \ CnGET.o \ Namen.o \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(LibrAriaN) $(LibOpt) $*.a Cscanner.o Cdaten.o Cn.o \ CnDELETE.o CnGET.o \ Namen.o # # --- Der Scanner $(QuellP)/Cscanner.h: \ $(BasisP)/CLog.h \ $(ZeileP)/Csymbol.h $(TouCH) $@ # Cscanner.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(QuellP)/Cscanner.h \ $(QuellP)/Cscanner.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # --- Cdaten $(QuellP)/Cdaten.h: \ $(BasisP)/CLog.h $(TouCH) $@ Cdaten.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(ConfiP)/Cconfig.h \ $(KonstP)/StatusCodes.h \ $(QuellP)/Cdaten.h \ $(QuellP)/Cdaten.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # --- Die Cnxxx $(QuellP)/Cn.h: \ $(QuellP)/ChttpNachricht.h $(TouCH) $@ # Cn.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(KonstP)/StatusCodes.h \ $(ZeileP)/CZrspLine.h \ $(ZeileP)/CZserver.h \ $(QuellP)/Cn.h \ $(QuellP)/CnGET.h \ $(QuellP)/Cn.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # $(QuellP)/CnDELETE.h: \ $(ZeileP)/CZconnection.h \ $(ZeileP)/CZcontLocation.h \ $(ZeileP)/CZcontType.h \ $(ZeileP)/CZdate.h \ $(ZeileP)/CZhostPort.h \ $(ZeileP)/CZIfModifiedSince.h \ $(ZeileP)/CZnull.h \ $(ZeileP)/CZreqLine.h \ $(ZeileP)/CZrspLine.h \ $(QuellP)/Cscanner.h $(TouCH) $@ # CnDELETE.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(BasisP)/cctypeProj.h \ $(KonstP)/Codes.h \ $(KonstP)/StatusCodes.h \ $(ConfiP)/Cconfig.h \ $(ZeileP)/Csymbol.h \ $(QuellP)/CnDELETE.h \ $(QuellP)/CnDELETE.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # Hier sollte noch die Abhängigkeit von $(StreaP)/fstreamProj.h # aufgelistet werden - dies führt aber zu einem permanenten Fehler # in make -> CnGET.h wird ausgeführt. Deshalb die entsprechende # Abhängigkeit bei CnGET.o # COMMENT: # If the file $(StreaP)/fstreamProj.h # is included in the dependencies for $(QuellP)/CnGET.h # make tries to execute $(QuellP)/CnGET.h # I did use other names instead of fstreamProh.j, like tfstreamProj.cpp # and make DID work! # fstreamPro.h did not - funny? $(QuellP)/CnGET.h: \ $(ZeileP)/CZconnection.h \ $(ZeileP)/CZcontLength.h \ $(ZeileP)/CZcontLocation.h \ $(ZeileP)/CZcontType.h \ $(ZeileP)/CZdate.h \ $(ZeileP)/CZhostPort.h \ $(ZeileP)/CZIfModifiedSince.h \ $(ZeileP)/CZnull.h \ $(ZeileP)/CZreqLine.h \ $(ZeileP)/CZrspLine.h \ $(QuellP)/Cdaten.h \ $(QuellP)/Cscanner.h $(TouCH) $@ # CnGET.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(BasisP)/cctypeProj.h \ $(KonstP)/Codes.h \ $(KonstP)/StatusCodes.h \ $(ConfiP)/Cconfig.h \ $(ZeileP)/Csymbol.h \ $(StreaP)/fstreamProj.h \ $(QuellP)/CnGET.h \ $(QuellP)/CnGET.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # --- Hilfsfunktionen # $(QuellP)/Namen.h: # Namen.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(ConfiP)/Cconfig.h \ $(QuellP)/Namen.h \ $(QuellP)/Namen.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # --- Die Scanner-Testtreiber tCscanner.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(QuellP)/Cscanner.h \ $(QuellP)/tCscanner.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # tCscannerIn.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(BasisP)/iomanipProj.h \ $(BasisP)/iostreamProj.h \ $(QuellP)/Cscanner.h \ $(QuellP)/tCscannerIn.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # --- tCdaten tCdaten.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(StreaP)/fstreamProj.h \ $(QuellP)/Cdaten.h \ $(QuellP)/tCdaten.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # --- Cnxxxr-Testtreiber tCn.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(QuellP)/Cn.h \ $(QuellP)/tCn.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # tCnDELETE.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(KonstP)/Defaults.h \ $(QuellP)/CnDELETE.h \ $(QuellP)/tCnDELETE.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # tCnGET.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(KonstP)/Defaults.h \ $(QuellP)/CnGET.h \ $(QuellP)/tCnGET.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # --- Test-Treiber für die Hilfsfunktionen tNamen.o: \ $(BasisP)/Proj.h \ $(BasisP)/CLog.h \ $(ConfiP)/Cconfig.h \ $(QuellP)/Namen.h \ $(QuellP)/tNamen.cpp \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(ComPileR) $(CompOpt) $(QuellP)/$*.cpp # # --- Die ausfuehrbaren Dateien ----------------------------------------------- # --- Die Reihenfolge der Libs ist wesentlich - speziellere zuerst angeben! # --- Die Scanner-Testtreiber # tCscanner: \ Cscanner.o \ tCscanner.o \ $(LibP)/BasisDbg.a \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(LinKer) $(LinkOpt) -o $@ address@hidden Cscanner.o \ $(LibP)/BasisDbg.a # tCscannerIn: \ Cscanner.o \ tCscannerIn.o \ $(LibP)/BasisDbg.a \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(LinKer) $(LinkOpt) -o $@ address@hidden Cscanner.o \ $(LibP)/BasisDbg.a # --- tCdaten tCdaten: \ Cdaten.o \ tCdaten.o \ $(LibP)/BasisDbg.a \ $(LibP)/ConfigDbg.a \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(LinKer) $(LinkOpt) -o $@ address@hidden Cdaten.o \ $(LibP)/ConfigDbg.a $(LibP)/BasisDbg.a # # --- Die tCnxxx Testtreiber tCn: \ tCn.o \ Cn.o \ Cscanner.o \ $(LibP)/BasisDbg.a \ $(LibP)/ConfigDbg.a \ $(LibP)/ZeilenDbg.a \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(LinKer) $(LinkOpt) -o $@ address@hidden Cn.o Cscanner.o \ $(LibP)/ZeilenDbg.a $(LibP)/ConfigDbg.a $(LibP)/BasisDbg.a # tCnDELETE: \ tCnDELETE.o \ $(LibP)/BasisDbg.a \ $(LibP)/ConfigDbg.a \ $(LibP)/ZeilenDbg.a \ $(LibP)/NachrichtenDbg.a \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(LinKer) $(LinkOpt) -o $@ address@hidden \ $(LibP)/NachrichtenDbg.a $(LibP)/ZeilenDbg.a \ $(LibP)/ConfigDbg.a $(LibP)/BasisDbg.a # tCnGET: \ tCnGET.o \ $(LibP)/BasisDbg.a \ $(LibP)/ConfigDbg.a \ $(LibP)/ZeilenDbg.a \ $(LibP)/NachrichtenDbg.a \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(LinKer) $(LinkOpt) -o $@ address@hidden \ $(LibP)/NachrichtenDbg.a $(LibP)/ZeilenDbg.a \ $(LibP)/ConfigDbg.a $(LibP)/BasisDbg.a # tNamen: \ tNamen.o \ $(LibP)/BasisDbg.a \ $(LibP)/ConfigDbg.a \ $(LibP)/ZeilenDbg.a \ $(LibP)/NachrichtenDbg.a \ $(MakeP)/XDbgCppProj.Inc \ $(MakePStd)/C++/XDbgCpp.Inc $(LinKer) $(LinkOpt) -o $@ address@hidden \ $(LibP)/NachrichtenDbg.a $(LibP)/ZeilenDbg.a \ $(LibP)/ConfigDbg.a $(LibP)/BasisDbg.a # # --- Muell-Sammler. -rm ignoriert Fehler bei Ausfuehrung von rm -------------- clean: -rm *.o; rm *.a; rm ../?*.?*~; rm ../*ms; rm *.tmp -rm $(LibP)/NachrichtenDbg.a # # --- BackUp als tar-Datei save: -tar -cvf Nachrichten.tar $(QuellP)/*.h $(QuellP)/*.cpp $(QuellP)/*.mk mime.types -rm *gz; gzip Nachrichten.tar cp Nachrichten.tar.gz ../../../BackUp -rm $(QuellP)/?*.?*~; # # ----------------------------------------------------------------------------- # Liste der Aenderungen # Datenelement Datum AutorIn Beschreibung # ----------------------------------------------------------------------------- # Diese Datei 2001/11/03 w.doeringer erste Version # # Ende der Datei #