| 1 |
# config |
| 2 |
|
| 3 |
OBJECTS = Host.o XMLFormatter.o SmallNet.o Config.o\ |
| 4 |
SysMon.o SubNet.o SubPipe.o |
| 5 |
|
| 6 |
SOCKLIBDIR = socket++-1.10 |
| 7 |
SOCKLIB = libsocket++.a |
| 8 |
|
| 9 |
HOST = Host |
| 10 |
|
| 11 |
# default |
| 12 |
all: $(HOST) |
| 13 |
|
| 14 |
# target to compile the main binary |
| 15 |
$(HOST): $(OBJECTS) $(SOCKLIB) |
| 16 |
g++ -o $@ -L. -lsocket++ -lsocket -lnsl $(OBJECTS) $(SOCKLIB) |
| 17 |
|
| 18 |
# target to compile any object file |
| 19 |
%.o : %.cpp |
| 20 |
g++ -c -I$(SOCKLIBDIR) -o $@ $< |
| 21 |
|
| 22 |
# target to compile the socket library |
| 23 |
$(SOCKLIB): |
| 24 |
cd $(SOCKLIBDIR) && sh configure && make |
| 25 |
cp $(SOCKLIBDIR)/$(SOCKLIB) . |
| 26 |
cd $(SOCKLIBDIR) && make real-clean |
| 27 |
|
| 28 |
# cleanup target |
| 29 |
clean: |
| 30 |
rm -f $(OBJECTS) $(SOCKLIB) $(HOST) |
| 31 |
rm -f core |
| 32 |
|
| 33 |
# run target |
| 34 |
run: $(HOST) |
| 35 |
./$(HOST) |
| 36 |
|