LIBNAME=sip_stack.a SRCS=$(wildcard *.cpp) HDRS=$(SRCS:.cpp=.h) OBJS=$(SRCS:.cpp=.o) DEPS=$(SRCS:.cpp=.d) .PHONY: all all: $(LIBNAME) .PHONY: clean clean: rm -f $(OBJS) $(DEPS) $(LIBNAME) COREPATH = .. include $(COREPATH)/../Makefile.defs CPPFLAGS += -I$(COREPATH) -fno-strict-aliasing # RAW_IPHDR_INC_AUTO_FRAG (raw_sock.c): # Fragmentation is done by the # kernel (no need to do it in # userspace). # # RAW_IPHDR_IP_HBO (raw_sock.c): # Byte order of ip offset and # total length expected by the # kernel. # ifeq ($(OS), freebsd) CPPFLAGS += -DRAW_IPHDR_INC_AUTO_FRAG -DRAW_IPHDR_IP_HBO else ifeq ($(OS), openbsd) CPPFLAGS += -DRAW_IPHDR_INC_AUTO_FRAG else ifeq ($(OS), netbsd) CPPFLAGS += -DRAW_IPHDR_INC_AUTO_FRAG -DRAW_IPHDR_IP_HBO else ifeq ($(OS), macosx) CPPFLAGS += -DRAW_IPHDR_INC_AUTO_FRAG -DRAW_IPHDR_IP_HBO endif endif endif endif # implicit rules %.o : %.cpp $(COREPATH)/../Makefile.defs $(CXX) -MMD -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS) $(LIBNAME): $(OBJS) $(COREPATH)/../Makefile.defs @echo "" @echo "making $(LIBNAME)" $(AR) rvs $(LIBNAME) $(OBJS) -include $(DEPS)