1LIBNAME=sip_stack.a 2 3SRCS=$(wildcard *.cpp) 4HDRS=$(SRCS:.cpp=.h) 5OBJS=$(SRCS:.cpp=.o) 6DEPS=$(SRCS:.cpp=.d) 7 8.PHONY: all 9all: $(LIBNAME) 10 11.PHONY: clean 12clean: 13 rm -f $(OBJS) $(DEPS) $(LIBNAME) 14 15COREPATH = .. 16include $(COREPATH)/../Makefile.defs 17 18CPPFLAGS += -I$(COREPATH) -fno-strict-aliasing 19 20# RAW_IPHDR_INC_AUTO_FRAG (raw_sock.c): 21# Fragmentation is done by the 22# kernel (no need to do it in 23# userspace). 24# 25# RAW_IPHDR_IP_HBO (raw_sock.c): 26# Byte order of ip offset and 27# total length expected by the 28# kernel. 29# 30ifeq ($(OS), freebsd) 31 CPPFLAGS += -DRAW_IPHDR_INC_AUTO_FRAG -DRAW_IPHDR_IP_HBO 32else 33ifeq ($(OS), openbsd) 34 CPPFLAGS += -DRAW_IPHDR_INC_AUTO_FRAG 35else 36ifeq ($(OS), netbsd) 37 CPPFLAGS += -DRAW_IPHDR_INC_AUTO_FRAG -DRAW_IPHDR_IP_HBO 38else 39ifeq ($(OS), macosx) 40 CPPFLAGS += -DRAW_IPHDR_INC_AUTO_FRAG -DRAW_IPHDR_IP_HBO 41endif 42endif 43endif 44endif 45 46# implicit rules 47%.o : %.cpp $(COREPATH)/../Makefile.defs 48 $(CXX) -MMD -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS) 49 50$(LIBNAME): $(OBJS) $(COREPATH)/../Makefile.defs 51 @echo "" 52 @echo "making $(LIBNAME)" 53 $(AR) rvs $(LIBNAME) $(OBJS) 54 55-include $(DEPS) 56 57 58