60 lines
2.3 KiB
Makefile
60 lines
2.3 KiB
Makefile
TARGETS = epserver epwget
|
|
CC = gcc -g -O3
|
|
DPDK=0
|
|
PS=0
|
|
|
|
# DPDK LIBRARY and HEADER
|
|
DPDK_INC=../../dpdk/include
|
|
DPDK_LIB=../../dpdk/lib/
|
|
|
|
# mtcp library and header
|
|
MTCP_FLD =../../mtcp/
|
|
MTCP_INC =-I${MTCP_FLD}/include
|
|
MTCP_LIB =-L${MTCP_FLD}/lib
|
|
MTCP_TARGET = ${MTCP_LIB}/libmtcp.a
|
|
|
|
UTIL_FLD = ../../util
|
|
UTIL_INC = -I${UTIL_FLD}/include
|
|
UTIL_OBJ = ${UTIL_FLD}/http_parsing.o ${UTIL_FLD}/tdate_parse.o
|
|
|
|
|
|
PS_DIR = ../../io_engine/
|
|
PS_INC = ${PS_DIR}/include
|
|
INC = -I./include/ ${UTIL_INC} ${MTCP_INC} -I${UTIL_FLD}/include
|
|
LIBS = ${MTCP_LIB}
|
|
ifeq ($(PS),1)
|
|
INC += -I{PS_INC}
|
|
LIBS += -lmtcp -L${PS_DIR}/lib -lps -lpthread -lnuma -lrt
|
|
endif
|
|
|
|
# CFLAGS for DPDK-related compilation
|
|
INC += ${MTCP_INC}
|
|
ifeq ($(DPDK),1)
|
|
INC += -DENABLE_DPDK -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 \
|
|
-DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2 \
|
|
-DRTE_MACHINE_CPUFLAG_AES -DRTE_MACHINE_CPUFLAG_PCLMULQDQ -DRTE_MACHINE_CPUFLAG_AVX \
|
|
-DRTE_COMPILE_TIME_CPUFLAGS=RTE_CPUFLAG_SSE,RTE_CPUFLAG_SSE2,RTE_CPUFLAG_SSE3,RTE_CPUFLAG_SSSE3,RTE_CPUFLAG_SSE4_1,RTE_CPUFLAG_SSE4_2,RTE_CPUFLAG_AES,RTE_CPUFLAG_PCLMULQDQ,RTE_CPUFLAG_AVX -I${DPDK_INC} \
|
|
-include ${DPDK_INC}/rte_config.h
|
|
endif
|
|
|
|
ifeq ($(DPDK),1)
|
|
LIBS += -m64 -g -O3 -pthread -lrt -march=native -Wl,-export-dynamic ${MTCP_FLD}/lib/libmtcp.a -L../../dpdk/lib -Wl,-lnuma -Wl,-lmtcp -Wl,-lpthread -Wl,-lrt -Wl,-ldl -Wl,--whole-archive -Wl,-lrte_distributor -Wl,-lrte_kni -Wl,-lrte_pipeline -Wl,-lrte_table -Wl,-lrte_port -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_lpm -Wl,-lrte_power -Wl,-lrte_acl -Wl,-lrte_meter -Wl,-lrte_sched -Wl,-lm -Wl,-lrt -Wl,--start-group -Wl,-lrte_kvargs -Wl,-lrte_mbuf -Wl,-lrte_ip_frag -Wl,-lethdev -Wl,-lrte_malloc -Wl,-lrte_mempool -Wl,-lrte_ring -Wl,-lrte_eal -Wl,-lrte_cmdline -Wl,-lrte_cfgfile -Wl,-lrte_pmd_bond -Wl,-lrte_pmd_vmxnet3_uio -Wl,-lrte_pmd_i40e -Wl,-lrte_pmd_ixgbe -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ring -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive
|
|
endif
|
|
|
|
all: epserver epwget
|
|
|
|
epserver.o: epserver.c
|
|
${CC} -c $< ${CFLAGS} ${INC}
|
|
|
|
epserver: epserver.o
|
|
${CC} $< ${LIBS} ${UTIL_OBJ} -o $@
|
|
|
|
epwget.o: epwget.c
|
|
${CC} -c $< ${CFLAGS} ${INC}
|
|
|
|
epwget: epwget.o
|
|
${CC} $< ${LIBS} ${UTIL_OBJ} -o $@
|
|
|
|
clean:
|
|
rm -f *~ *.o ${TARGETS} log_*
|