--- projects/cms/source/host/c++/Makefile 2001/06/13 19:33:00 1.8 +++ projects/cms/source/host/c++/Makefile 2001/06/13 20:13:49 1.10 @@ -1,19 +1,36 @@ -all: 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 *.o *.bak - 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: clean exe - Host + rm -f $(OBJECTS) $(SOCKLIB) $(HOST) + rm -f core + +# run target +run: $(HOST) + ./$(HOST)