| 1 | |
|---|
| 2 | |
|---|
| 3 | |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | |
|---|
| 7 | |
|---|
| 8 | |
|---|
| 9 | |
|---|
| 10 | |
|---|
| 11 | |
|---|
| 12 | |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | DEBUGGING = 1 |
|---|
| 17 | LOGGING = 1 |
|---|
| 18 | OPTIMIZATION = |
|---|
| 19 | BENCHMARK = |
|---|
| 20 | |
|---|
| 21 | |
|---|
| 22 | |
|---|
| 23 | LIB_PROT = ../protlib/src/libprot.a |
|---|
| 24 | LIB_FASTQUEUE = ../protlib/fastqueue/libfastqueue.a |
|---|
| 25 | LIB_GIST = ../ntlp/src/libGIST.a |
|---|
| 26 | LIB_NATFW_MSG = msg/libnatfw_msg.a |
|---|
| 27 | |
|---|
| 28 | ALL_LIBS = $(LIB_NATFW_MSG) $(LIB_GIST) $(LIB_PROT) $(LIB_FASTQUEUE) |
|---|
| 29 | |
|---|
| 30 | INC = -I../include -I../protlib/include -I../protlib/fastqueue \ |
|---|
| 31 | -I../ntlp/include |
|---|
| 32 | |
|---|
| 33 | |
|---|
| 34 | |
|---|
| 35 | |
|---|
| 36 | NATFW_BIN = natfwd |
|---|
| 37 | NATFW_LIB = libnatfw.a |
|---|
| 38 | |
|---|
| 39 | TEST_CLIENT = test_client |
|---|
| 40 | TEST_STRESS = test_stress |
|---|
| 41 | |
|---|
| 42 | |
|---|
| 43 | |
|---|
| 44 | CXX = g++ |
|---|
| 45 | AR = ar |
|---|
| 46 | CXXFLAGS = -Wall -g -pedantic -Wno-long-long $(INC) |
|---|
| 47 | LDFLAGS = $(ALL_LIBS) -lcrypto -lpthread -lipq -lssl -lrt |
|---|
| 48 | |
|---|
| 49 | |
|---|
| 50 | ifdef BENCHMARK |
|---|
| 51 | CXXFLAGS += -DBENCHMARK |
|---|
| 52 | endif |
|---|
| 53 | |
|---|
| 54 | ifndef LOGGING |
|---|
| 55 | CXXFLAGS += -D_NO_LOGGING |
|---|
| 56 | endif |
|---|
| 57 | |
|---|
| 58 | CXXFLAGS += $(OPTIMIZATION) |
|---|
| 59 | |
|---|
| 60 | |
|---|
| 61 | NATFW_OBJS = session.o session_manager.o dispatcher.o natfw_daemon.o \ |
|---|
| 62 | session_id.o ni_session.o nf_session.o nr_session.o nr_rea_session.o \ |
|---|
| 63 | nf_edge_rea_session.o nf_non_edge_rea_session.o natfw_config.o \ |
|---|
| 64 | policy_rule.o policy_rule_installer.o iptables_policy_rule_installer.o \ |
|---|
| 65 | nat_manager.o gistka_mapper.o natfw_timers.o benchmark_journal.o |
|---|
| 66 | |
|---|
| 67 | |
|---|
| 68 | |
|---|
| 69 | |
|---|
| 70 | |
|---|
| 71 | .PHONY: clean all msg |
|---|
| 72 | |
|---|
| 73 | all: msg $(NATFW_BIN) $(NATFW_LIB) $(TEST_CLIENT) $(TEST_STRESS) |
|---|
| 74 | |
|---|
| 75 | |
|---|
| 76 | $(NATFW_BIN): main.o $(NATFW_OBJS) $(ALL_LIBS) |
|---|
| 77 | $(CXX) -o $@ main.o $(NATFW_OBJS) $(LDFLAGS) |
|---|
| 78 | |
|---|
| 79 | $(TEST_CLIENT): test_client.o $(NATFW_OBJS) $(LIB_NATFW_MSG) $(ALL_LIBS) |
|---|
| 80 | $(CXX) -o $@ test_client.o $(NATFW_OBJS) $(LDFLAGS) |
|---|
| 81 | |
|---|
| 82 | $(TEST_STRESS): test_stress.o $(NATFW_OBJS) $(LIB_NATFW_MSG) $(ALL_LIBS) |
|---|
| 83 | $(CXX) -o $@ test_stress.o $(NATFW_OBJS) $(LDFLAGS) |
|---|
| 84 | |
|---|
| 85 | $(NATFW_LIB): $(NATFW_OBJS) |
|---|
| 86 | $(AR) -rsv $@ $? |
|---|
| 87 | |
|---|
| 88 | msg: |
|---|
| 89 | $(MAKE) -C $@ |
|---|
| 90 | |
|---|
| 91 | clean: |
|---|
| 92 | -rm $(NATFW_BIN) $(NATFW_LIB) $(TEST_CLIENT) $(TEST_STRESS) \ |
|---|
| 93 | $(wildcard *.o) depend |
|---|
| 94 | $(MAKE) -C msg clean |
|---|
| 95 | |
|---|
| 96 | depend: |
|---|
| 97 | $(CXX) -MM $(CXXFLAGS) $(wildcard *.cpp) > depend |
|---|
| 98 | |
|---|
| 99 | |
|---|
| 100 | -include depend |
|---|