1TARGET = epwget
2TARGETMP = epwget-mp
3
4######################################################################
5# GCC and compilation options
6######################################################################
7GCC = $(CC)
8GCC_OPT = -m64 -Wall -Werror -fgnu89-inline
9GCC_OPT += -DNDEBUG -O3 -g -DNETSTAT -DINFO -DDBGERR -DDBGCERR
10GCC_OPT += $(DBG_OPT)
11ifeq ($V,) # no echo
12    export MSG=@echo
13    export HIDE=@
14else
15    export MSG=@\#
16    export HIDE=
17endif
18
19######################################################################
20# LIBRARIES AND INCLUDES
21######################################################################
22MTCP_FLD    = ../../core
23MTCP_INC    =-I$(MTCP_FLD)/include
24MTCP_TARGET = $(MTCP_FLD)/lib/libmtcp.a
25LIBS        += -lmtcp -lssl -lcrypto -lnuma -lpthread -lrt
26LIB_DIR     += -L$(MTCP_FLD)/lib
27CMN_DIR     = ../common
28CMN_INC     = -I$(CMN_DIR)
29UTIL_INC    = -I../../util/include
30
31# I/O library parameter (PSIO or DPDK)
32__IO_LIB_ARGS
33
34######################################################################
35
36default: $(TARGET) $(TARGETMP)
37
38$(MTCP_TARGET):
39	cd $(MTCP_FLD)/src && make
40
41$(TARGET): $(MTCP_TARGET) $(TARGET).c $(CMN_DIR)/*.c ../../util/http_parsing.c
42	$(MSG) "   CC $<"
43	$(HIDE) $(GCC) $(GCC_OPT) -o $@ $^ $(MTCP_INC) $(CMN_INC) $(UTIL_INC) $(LIB_DIR) $(LIBS)
44
45$(TARGETMP): $(MTCP_TARGET) $(TARGETMP).c $(CMN_DIR)/*.c ../../util/http_parsing.c
46	$(MSG) "   CC $<"
47	$(HIDE) $(GCC) $(GCC_OPT) -o $@ $^ $(MTCP_INC) $(CMN_INC) $(UTIL_INC) $(LIB_DIR) $(LIBS)
48
49clean:
50	rm -rf *~ *.o $(TARGET) $(TARGETMP) logs/*
51
52cleanall: clean
53	rm -rf Makefile
54
55
56