--- projects/cms/source/host/c++/Makefile 2001/02/26 14:56:44 1.3 +++ projects/cms/source/host/c++/Makefile 2001/06/13 20:13:49 1.10 @@ -1,27 +1,36 @@ -all: - g++ -c -o XMLFormatter.o XMLFormatter.cpp - g++ -c -o Config.o Config.cpp - g++ -c -o SmallNet.o SmallNet.cpp - +# config + +OBJECTS = Host.o XMLFormatter.o SmallNet.o Config.o\ + SysMon.o SubNet.o SubPipe.o + +SOCKLIBDIR = socket++-1.10 +SOCKLIB = libsocket++.a + +HOST = Host + +# default +all: $(HOST) + +# target to compile the main binary +$(HOST): $(OBJECTS) $(SOCKLIB) + g++ -o $@ -L. -lsocket++ -lsocket -lnsl $(OBJECTS) $(SOCKLIB) + +# target to compile any object file +%.o : %.cpp + g++ -c -I$(SOCKLIBDIR) -o $@ $< + +# target to compile the socket library +$(SOCKLIB): + cd $(SOCKLIBDIR) && sh configure && make + cp $(SOCKLIBDIR)/$(SOCKLIB) . + cd $(SOCKLIBDIR) && make real-clean + +# cleanup target clean: - rm -f XMLFormatter.o XMLTest.o XMLTest Host.o SmallNet.o Config.o SysMon.o SmallNet - rm -f XMLFormatter.cpp.bak XMLformatter.h.bak Host.cpp.bak Config.cpp.bak Config.h.bak - rm -f SmallNet.h.bak SmallNet.cpp.bak Makefile.bak SysMon.h.bak SysMon.cpp.bak - rm -f Host core - -config: - g++ -c -o Config.o Config.cpp + rm -f $(OBJECTS) $(SOCKLIB) $(HOST) + rm -f core -smallnet: - g++ -c -o SmallNet.o SmallNet.cpp -exe: - g++ -c -Isocket++-1.10 -Lsocket++-1.10 -o Host.o Host.cpp - g++ -c -Isocket++-1.10 -Lsocket++-1.10 -o XMLFormatter.o XMLFormatter.cpp - g++ -c -Isocket++-1.10 -Lsocket++-1.10 -o SmallNet.o SmallNet.cpp - g++ -c -Isocket++-1.10 -Lsocket++-1.10 -o Config.o Config.cpp - g++ -c -Isocket++-1.10 -Lsocket++-1.10 -o SysMon.o SysMon.cpp - g++ -o Host -Isocket++-1.10 -Lsocket++-1.10 -lsocket++ -lsocket -lnsl Host.o Config.o XMLFormatter.o SmallNet.o SysMon.o socket++-1.10/libsocket++.a - -pipe: - g++ -c -Isocket++-1.10 -Lsocket++-1.10 -o PipeTest.o PipeTest.cpp - g++ -o PipeTest -Isocket++-1.10 -Lsocket++-1.10 -lsocket++ -lsocket -lnsl PipeTest.o socket++-1.10/libsocket++.a +# run target +run: $(HOST) + ./$(HOST) +