--- projects/cms/source/host/c++/Makefile 2001/03/06 00:39:49 1.6 +++ projects/cms/source/host/c++/Makefile 2001/06/13 20:13:49 1.10 @@ -1,24 +1,36 @@ -all: - make exe - +# 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 SubNet.h.bak SubNet.cpp.bak SubNet.o SubPipe.o - rm -f Host core - -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++ -c -Isocket++-1.10 -Lsocket++-1.10 -o SubNet.o SubNet.cpp - g++ -c -Isocket++-1.10 -Lsocket++-1.10 -o SubPipe.o SubPipe.cpp - g++ -o Host -Isocket++-1.10 -Lsocket++-1.10 -lsocket++ -lsocket -lnsl Host.o Config.o XMLFormatter.o SmallNet.o SysMon.o SubNet.o SubPipe.o socket++-1.10/libsocket++.a - -run: - make clean exe - Host + rm -f $(OBJECTS) $(SOCKLIB) $(HOST) + rm -f core + +# run target +run: $(HOST) + ./$(HOST)