diff --git a/Makefile_atheros_openwrt b/Makefile_atheros_openwrt index a16eef8..c7f4918 100644 --- a/Makefile_atheros_openwrt +++ b/Makefile_atheros_openwrt @@ -28,11 +28,10 @@ libowlps: @$(MAKE) -C $@ $(TARGET) libowlps-client: libowlps @$(MAKE) -C $@ $(TARGET) - owlps-client: libowlps libowlps-client - @$(MAKE) -f $(MAKEFILE) -C $@ $(TARGET) + @$(MAKE) -C $@ $(TARGET) owlps-listener: libowlps libowlps-client - @$(MAKE) -f $(MAKEFILE) -C $@ $(TARGET) + @$(MAKE) -C $@ $(TARGET) ## Help ## diff --git a/common-rules.mk b/common-rules.mk new file mode 100644 index 0000000..64a3b56 --- /dev/null +++ b/common-rules.mk @@ -0,0 +1,32 @@ +# Cancel implicit make rule +%: %.c + +% : %.o $(STATIC) + $(CC) $(STRIPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(DYNAMIC_LDFLAGS) + +%.semistatic: %.o $(STATIC) + $(CC) $(STRIPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(SEMISTATIC_LDFLAGS) + $(STRIP) $@ + +%.static: %.o $(STATIC) + $(CC) $(STRIPFLAGS) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(STATIC_LDFLAGS) -static + $(STRIP) $@ + +%.o: %.c $(HEADER) + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< + +%.a: %.o + $(RM) $@ + $(AR) cru $@ $^ + $(RANLIB) $@ + +%.so.$(LIBOWLPS_VERSION): %.o + $(CC) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(CFLAGS) $(LDFLAGS) $^ + $(SYMLINK) $@ $(@:.$(LIBOWLPS_VERSION)=) + chmod a-x $@ + +clean: + @$(RM) *~ *.o *.d + +purge: clean + @$(RM) $(DYNAMIC) *.so $(STATIC) $(EXAMPLE) $(TARGET) $(TARGET).static $(TARGET).semistatic diff --git a/common.mk b/common.mk index ae5a76d..0567a2f 100644 --- a/common.mk +++ b/common.mk @@ -1,6 +1,9 @@ # Export all variables by default export +.PHONY : all dynamic semistatic static install install-dynamic install-static install-header uninstall uninstall-dynamic uninstall-static uninstall-header clean purge help test doc style check + + ### Versions ### # Current version of the libowlps @@ -73,7 +76,22 @@ ifeq "$(origin CXX)" "default" endif -### OpenWrt specifics ### +### OwlPS-specific variables ### + +LIBOWLPS_DIR = ../libowlps +LIBOWLPSCLIENT_DIR = ../libowlps-client +LIBOWLPSRESULTREADER_DIR = ../libowlps-resultreader + + +### Build flags ### + +# Reinitialisation +CPPFLAGS := +CFLAGS := +CXXFLAGS := +LDFLAGS := + +## OpenWrt specifics ## # # To compile for OpenWrt, the OPENWRT_VERSION variable must be set. # @@ -91,7 +109,6 @@ endif # toolchain-mips_gcc_uClibc # Of course, you have to update the symlinks when you compile a new # version of the SDK. - ifdef OPENWRT_VERSION TOOLCHAIN_PREFIX := $$HOME/openwrt/atheros/trunk STAGING_DIR := $(TOOLCHAIN_PREFIX)/staging_dir @@ -107,13 +124,53 @@ ifdef OPENWRT_VERSION TOOLCHAIN2 := $(TOOLCHAIN_PREFIX)/target-mips_uClibc-0.9.30.1 endif - LATHEROS = -L$(TOOLCHAIN1)/lib -L$(TOOLCHAIN1)/usr/lib -L$(TOOLCHAIN2)/usr/lib - IATHEROS = -I$(TOOLCHAIN1)/usr/include -I$(TOOLCHAIN2)/usr/include + CFLAGS += -I$(TOOLCHAIN1)/usr/include -I$(TOOLCHAIN2)/usr/include + LDFLAGS += -L$(TOOLCHAIN1)/lib -L$(TOOLCHAIN1)/usr/lib -L$(TOOLCHAIN2)/usr/lib + DYNAMIC_LDFLAGS += $(TOOLCHAIN1)/lib/ld-uClibc.so.0 + SEMISTATIC_LDFLAGS += $(TOOLCHAIN1)/lib/ld-uClibc.so.0 CC := STAGING_DIR=$(STAGING_DIR) $(TOOLCHAIN_BIN)/mips-openwrt-linux-gcc STRIP := STAGING_DIR=$(STAGING_DIR) $(TOOLCHAIN_BIN)/mips-openwrt-linux-strip -s endif +# OwlPS flags +CFLAGS += -D OWLPS_VERSION=\"$(OWLPS_VERSION)\" +LDFLAGS += -L$(LIBOWLPS_DIR) -L$(LIBOWLPSCLIENT_DIR) -L$(LIBOWLPSRESULTREADER_DIR) +CFLAGS += -I$(LIBOWLPS_DIR) -I$(LIBOWLPSCLIENT_DIR) -I$(LIBOWLPSRESULTREADER_DIR) + +# Options +CFLAGS += -O2 -O +CFLAGS += -fPIC +CFLAGS += -Wall -Wextra + +# Debug flags +CFLAGS += -D DEBUG +#CFLAGS += -g -O0 +#CFLAGS += -D NDEBUG + +# Misc +#STRIPFLAGS += -Wl,-s + +# OS specific flags +ifeq "$(OS)" "DragonFly" + CFLAGS += -I/usr/pkg/include + LDFLAGS += -L/usr/pkg/lib +endif +ifeq "$(OS)" "NetBSD" + CFLAGS += -I/usr/pkg/include + LDFLAGS += -L/usr/pkg/lib +endif +ifeq "$(OS)" "OpenBSD" + CFLAGS += -I/usr/local/include + LDFLAGS += -L/usr/local/lib +endif + +# C++ specific flags +CXXFLAGS := $(CFLAGS) + +# C specific flags +CFLAGS += -Wstrict-prototypes + ### Installation directories ### diff --git a/libowlps-client/Makefile b/libowlps-client/Makefile index baf8ed6..d9779d4 100644 --- a/libowlps-client/Makefile +++ b/libowlps-client/Makefile @@ -1,55 +1,15 @@ include ../common.mk -# General variables -LIB_CIBLE=libowlps-client - -# Targets to build -STATIC=$(LIB_CIBLE).a -HEADER=owlps-client.h - -# Library components -OBJS=$(LIB_CIBLE).o - -# Flags -LIBOWLPS_DIR = ../libowlps -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes -O -I$(LIBOWLPS_DIR) -#CFLAGS += -g -O0 -CFLAGS += -D DEBUG -DEPFLAGS=-MMD -XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG=-fPIC -#STRIPFLAGS= -Wl,-s -#LDFLAGS= +TARGET_LIB = libowlps-client +STATIC = $(TARGET_LIB).a +HEADER = owlps-client.h -## Standard targets ## - -.PHONY : all static clean purge help +## Targets ## all : static static : $(STATIC) -%.o : %.c $(HEADER) - $(CC) $(XCFLAGS) $(IATHEROS) -c $< - -# Static library compilation -$(STATIC) : $(OBJS) - $(RM) $@ - $(AR) cru $@ $^ - $(RANLIB) $@ - - -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(STATIC) - - -## Help ## - help : @echo "Needed libraries:" @echo " libowlps-dev" @@ -59,3 +19,5 @@ help : @echo @echo " clean: Deletes the temporary files." @echo " purge: Deletes the built binaries." + +include ../common-rules.mk diff --git a/libowlps-resultreader/Makefile b/libowlps-resultreader/Makefile index 7b812a0..1003c5c 100644 --- a/libowlps-resultreader/Makefile +++ b/libowlps-resultreader/Makefile @@ -1,70 +1,29 @@ include ../common.mk -# General variables -LIB_CIBLE = libowlps-resultreader - -# Targets to build -STATIC = $(LIB_CIBLE).a +TARGET_LIB = libowlps-resultreader +STATIC = $(TARGET_LIB).a HEADER = owlps-resultreader.h EXAMPLE = owlps-resultreader-udp -# Library components -OBJS = $(LIB_CIBLE).o -# Flags -LIBOWLPS_DIR = ../libowlps -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes -O -I$(LIBOWLPS_DIR) -#CFLAGS += -g -O0 -CFLAGS += -D DEBUG -DEPFLAGS = -MMD -XCFLAGS = $(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG = -fPIC -#STRIPFLAGS = -Wl,-s -#LDFLAGS = +## Additional libraries ## -LIBS = -L$(LIBOWLPS_DIR) -lowlps +LDFLAGS += -lowlps OS := $(shell uname) ifeq "$(OS)" "Linux" - LIBS += -lrt + LDFLAGS += -lrt endif ifeq "$(OS)" "GNU/kFreeBSD" - LIBS += -lrt + LDFLAGS += -lrt endif -## Standard targets ## - -.PHONY : all static clean purge help +## Targets ## all : static example static : $(STATIC) example : $(EXAMPLE) -# Cancel implicit make rule -%: %.c - -%.o : %.c $(HEADER) - $(CC) $(XCFLAGS) -c $< - -% : %.o $(HEADER) $(STATIC) - $(CC) $(STRIPFLAGS) $(XCFLAGS) -o $@ $< \ - $(STATIC) $(LIBS) - -# Static library compilation -$(STATIC) : $(OBJS) - $(RM) $@ - $(AR) cru $@ $^ - $(RANLIB) $@ - - -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(STATIC) $(EXAMPLE) - ## Help ## @@ -79,3 +38,6 @@ help : @echo @echo " clean: Deletes the temporary files." @echo " purge: Deletes the built binaries." + + +include ../common-rules.mk diff --git a/libowlps/Makefile b/libowlps/Makefile index d5f887b..c332aad 100644 --- a/libowlps/Makefile +++ b/libowlps/Makefile @@ -1,53 +1,22 @@ include ../common.mk -# General variables -LIB_CIBLE=libowlps - -# Targets to build -STATIC=$(LIB_CIBLE).a -DYNAMIC=$(LIB_CIBLE).so.$(LIBOWLPS_VERSION) -#PROGS= -HEADER=owlps.h -#HEADERS= - -# Library components -OBJS=$(LIB_CIBLE).o - -# Flags -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes -O -#CFLAGS += -g -O0 -#CFLAGS += -D NDEBUG -DEPFLAGS=-MMD -XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG=-fPIC -LIBS = -lc -#STRIPFLAGS= -Wl,-s -#LDFLAGS= +TARGET_LIB = libowlps +STATIC = $(TARGET_LIB).a +DYNAMIC = $(TARGET_LIB).so.$(LIBOWLPS_VERSION) +HEADER = owlps.h -## Standard targets ## +## Additional libraries ## -.PHONY : all dynamic static install install-dynamic install-static install-header uninstall uninstall-dynamic uninstall-static uninstall-header clean purge help +LDFLAGS += -lc + + +## Targets ## all : dynamic static dynamic : $(DYNAMIC) static : $(STATIC) -%.o: %.c $(HEADER) - $(CC) $(XCFLAGS) $(IATHEROS) $(PICFLAG) -c -o $@ $< - -# Dynamic library compilation -$(DYNAMIC): $(OBJS) - $(CC) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(IATHEROS) $(LATHEROS) $(LIBS) $^ - $(SYMLINK) $@ $(LIB_CIBLE).so - chmod a-x $@ - -# Static library compilation -$(STATIC): $(OBJS) - $(RM) $@ - $(AR) cru $@ $^ - $(RANLIB) $@ - ## Installation ## @@ -57,7 +26,7 @@ install-dynamic : install-header $(DYNAMIC) @$(CP) $(DYNAMIC) $(INSTALL_LIB) &&\ chmod 644 $(INSTALL_LIB)/$(DYNAMIC) &&\ chown root:root $(INSTALL_LIB)/$(DYNAMIC) &&\ - cd $(INSTALL_LIB) && $(SYMLINK) $(DYNAMIC) $(LIB_CIBLE).so &&\ + cd $(INSTALL_LIB) && $(SYMLINK) $(DYNAMIC) $(TARGET_LIB).so &&\ echo "Reconstruction du cache pour ld.so : ldconfig $(INSTALL_LIB)" ; ldconfig $(INSTALL_LIB) install-static : install-header $(STATIC) @@ -76,7 +45,7 @@ install-header : $(HEADER) uninstall : uninstall-dynamic uninstall-static uninstall-dynamic : uninstall-header - @$(RM) $(INSTALL_LIB)/$(DYNAMIC) $(INSTALL_LIB)/$(LIB_CIBLE).so + @$(RM) $(INSTALL_LIB)/$(DYNAMIC) $(INSTALL_LIB)/$(TARGET_LIB).so @echo "Reconstruction du cache pour ld.so : ldconfig" ; ldconfig uninstall-static : uninstall-header @@ -86,15 +55,6 @@ uninstall-header : @$(RM) $(INSTALL_INC)/$(HEADER) -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(DYNAMIC) *.so $(STATIC) $(PROGS) - - ## Help ## help : @@ -119,3 +79,6 @@ help : @echo @echo "Note: Files are installed under $(PREFIX)." @echo "Tune the PREFIX variable in the Makefile to change that." + + +include ../common-rules.mk diff --git a/owlps-aggregator/Makefile b/owlps-aggregator/Makefile index 5ecd373..318c83d 100644 --- a/owlps-aggregator/Makefile +++ b/owlps-aggregator/Makefile @@ -1,62 +1,27 @@ include ../common.mk -# Target -TARGET=owlps-aggregatord -HEADER=owlps-aggregator.h +TARGET = owlps-aggregatord +HEADER = owlps-aggregator.h -# Flags -LIBOWLPS_DIR = ../libowlps -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes -O -I$(LIBOWLPS_DIR) -#CFLAGS += -g -O0 -DEPFLAGS=-MMD -XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG=-fPIC -OWLPSFLAGS = -D OWLPS_VERSION=\"$(OWLPS_VERSION)\" -#OWLPSFLAGS += -D NDEBUG -LIBS = -pthread -lconfuse -L$(LIBOWLPS_DIR) -lowlps +## Additional libraries ## + +LDFLAGS += -pthread -lconfuse -lowlps OS := $(shell uname) ifeq "$(OS)" "Linux" - LIBS += -lrt + LDFLAGS += -lrt endif ifeq "$(OS)" "GNU/kFreeBSD" - LIBS += -lrt -endif -ifeq "$(OS)" "DragonFly" - CFLAGS += -I/usr/pkg/include - LIBS += -L/usr/pkg/lib -endif -ifeq "$(OS)" "NetBSD" - CFLAGS += -I/usr/pkg/include - LIBS += -L/usr/pkg/lib -endif -ifeq "$(OS)" "OpenBSD" - CFLAGS += -I/usr/local/include - LIBS += -L/usr/local/lib + LDFLAGS += -lrt endif -LDFLAGS = $(LIBS) $(OWLPSFLAGS) - -## Standard targets ## - -.PHONY : all dynamic static install uninstall clean purge help +## Targets ## dynamic: $(TARGET) static: $(TARGET).static all: dynamic static -# Cancel implicit make rule -%: %.c - -% : %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LDFLAGS) -%.static : %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LDFLAGS) -static - $(STRIP) $@ -%.o : %.c $(HEADER) - $(CC) $(XCFLAGS) $(OWLPSFLAGS) -c $< - ## Installation / uninstallation ## @@ -68,16 +33,6 @@ uninstall : @$(RM) $(INSTALL_DIR)/$(TARGET) -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(TARGET) - @$(RM) $(TARGET).static - - ## Help ## help : @@ -94,3 +49,6 @@ help : @echo @echo "Note: Files are installed under $(PREFIX)." @echo "Tune the PREFIX variable in the Makefile to change that." + + +include ../common-rules.mk diff --git a/owlps-client/Makefile b/owlps-client/Makefile index 5b1d849..723fa16 100644 --- a/owlps-client/Makefile +++ b/owlps-client/Makefile @@ -1,59 +1,35 @@ include ../common.mk -# Target -TARGET=owlps-client -HEADER= +TARGET = owlps-client -# Flags -LIBOWLPS_DIR = ../libowlps -LIBOWLPSCLIENT_DIR = ../libowlps-client -LIBOWLPSRESULTREADER_DIR = ../libowlps-resultreader -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes \ - -I$(LIBOWLPS_DIR) -I$(LIBOWLPSCLIENT_DIR) \ - -I$(LIBOWLPSRESULTREADER_DIR) -#CFLAGS += -g -O0 -DEPFLAGS = -MMD -XCFLAGS = $(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG = -fPIC -OWLPSFLAGS = -D OWLPS_VERSION=\"$(OWLPS_VERSION)\" -OWLPSFLAGS += -D DEBUG -OWLPSFLAGS += -D ENABLE_RECEIVE_POSITION \ - -L$(LIBOWLPSRESULTREADER_DIR) -lowlps-resultreader -LIBS = -L$(LIBOWLPS_DIR) -lowlps \ - -L$(LIBOWLPSCLIENT_DIR) -lowlps-client + +## Compilation-time option ## + +#CFLAGS += -D ENABLE_RECEIVE_POSITION +#LDFLAGS += -lowlps-resultreader + + +## Additional libraries ## + +STATIC_LDFLAGS += $(LIBOWLPS_DIR)/libowlps.a $(LIBOWLPSCLIENT_DIR)/libowlps-client.a +SEMISTATIC_LDFLAGS += $(STATIC_LDFLAGS) +DYNAMIC_LDFLAGS += -lowlps -lowlps-client OS := $(shell uname) ifeq "$(OS)" "Linux" - LIBS += -lrt + LDFLAGS += -lrt endif ifeq "$(OS)" "GNU/kFreeBSD" - LIBS += -lrt + LDFLAGS += -lrt endif -LDFLAGS = $(LIBS) $(OWLPSFLAGS) -STATIC_LIBS = - - -## Standard targets ## - -.PHONY : all dynamic static install uninstall clean purge help +## Targets ## dynamic : $(TARGET) +semistatic: $(TARGET).semistatic static : $(TARGET).static -all : dynamic static - -# Cancel implicit make rule -%: %.c - -%: %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LDFLAGS) -%.static: %.o - $(CC) $(XCFLAGS) -o $@ $^ \ - $(LDFLAGS) $(LIBS) $(STATIC_LIBS) -static - $(STRIP) $@ -%.o: %.c $(HEADER) - $(CC) $(XCFLAGS) $(OWLPSFLAGS) -c $< +all : dynamic semistatic static ## Installation / uninstallation ## @@ -70,15 +46,6 @@ uninstall : @$(RM) $(INSTALL_DIR)/{$(TARGET),$(TARGET).static} -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(TARGET) $(TARGET).static - - ## Help ## help : @@ -97,3 +64,6 @@ help : @echo @echo "Note: Files are installed under $(PREFIX)." @echo "Tune the PREFIX variable in the Makefile to change that." + + +include ../common-rules.mk diff --git a/owlps-client/Makefile_atheros_openwrt b/owlps-client/Makefile_atheros_openwrt deleted file mode 100644 index b385fbd..0000000 --- a/owlps-client/Makefile_atheros_openwrt +++ /dev/null @@ -1,86 +0,0 @@ -include ../common.mk - -# Target -TARGET=owlps-client -HEADER= - -# Flags -LIBOWLPS_DIR = ../libowlps -LIBOWLPSCLIENT_DIR = ../libowlps-client -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes \ - -I$(LIBOWLPS_DIR) -I$(LIBOWLPSCLIENT_DIR) -#CFLAGS += -g -O0 -DEPFLAGS = -MMD -XCFLAGS = $(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG = -fPIC -LOWLPS = -L$(LIBOWLPS_DIR) -lowlps -LOWLPSA = $(LIBOWLPS_DIR)/libowlps.a -LOWLPSCLIENTA = $(LIBOWLPSCLIENT_DIR)/libowlps-client.a -LIBS = $(LOWLPSCLIENTA) -DYNAMIC_LIBS = $(LOWLPS) $(LIBS) $(TOOLCHAIN1)/lib/ld-uClibc.so.0 -SEMISTATIC_LIBS = $(LOWLPSA) $(LIBS) $(TOOLCHAIN1)/lib/ld-uClibc.so.0 -STATIC_LIBS = $(LOWLPSA) $(LIBS) -LATHEROS = -L$(TOOLCHAIN1)/lib -L$(TOOLCHAIN1)/usr/lib \ - -L$(TOOLCHAIN2)/usr/lib -IATHEROS = -I$(TOOLCHAIN1)/usr/include -I$(TOOLCHAIN2)/usr/include -LDFLAGS = $(IATHEROS) $(LATHEROS) -OWLPSFLAGS = -D OWLPS_VERSION=\"$(OWLPS_VERSION)\" -OWLPSFLAGS += -D DEBUG - - -## Standard targets ## - -.PHONY: all dynamic semistatic static install uninstall clean purge help - -dynamic: $(TARGET) -semistatic: $(TARGET).semistatic -static: $(TARGET).static -all: dynamic semistatic static - -# Cancel implicit make rule -%: %.c - -%: %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LDFLAGS) $(DYNAMIC_LIBS) - -%.semistatic: %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LDFLAGS) $(SEMISTATIC_LIBS) - $(STRIP) $@ - -%.static: %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LDFLAGS) $(STATIC_LIBS) \ - -static - $(STRIP) $@ - -%.o: %.c $(HEADER) - $(CC) $(XCFLAGS) $(IATHEROS) $(OWLPSFLAGS) -c $< - - -## Installation / uninstallation ## - -install : $(TARGET) - @$(CP) $(TARGET) $(INSTALL_DIR) - @cd $(INSTALL_DIR) ; chown root:root $(TARGET) ; chmod 755 $(TARGET) - -uninstall : - @$(RM) $(INSTALL_DIR)/$(TARGET) - - -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(TARGET) $(TARGET).static $(TARGET).semistatic - - -## Help ## - -help : - @make -f Makefile_atheros help - - -# Local Variables: * -# mode: makefile-gmake * -# End: * diff --git a/owlps-listener/Makefile b/owlps-listener/Makefile index c0fad17..46a5746 100644 --- a/owlps-listener/Makefile +++ b/owlps-listener/Makefile @@ -1,68 +1,42 @@ include ../common.mk -# Target -TARGET=owlps-listenerd -HEADER=owlps-listener.h +TARGET = owlps-listenerd +HEADER = owlps-listener.h -# Flags -LIBOWLPS_DIR = ../libowlps -LIBOWLPSCLIENT_DIR = ../libowlps-client -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes \ - -I$(LIBOWLPS_DIR) -I$(LIBOWLPSCLIENT_DIR) -#CFLAGS += -g -O0 -DEPFLAGS = -MMD -XCFLAGS = $(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG = -fPIC -OWLPSFLAGS = -D OWLPS_VERSION=\"$(OWLPS_VERSION)\" -OWLPSFLAGS += -D USE_CONFIG_FILE -lconfuse -OWLPSFLAGS += -D USE_PTHREAD -pthread -#OWLPSFLAGS += -D ENABLE_KEEP_MONITOR -liw -#OWLPSFLAGS += -D NDEBUG -LIBS = -L$(LIBOWLPS_DIR) -lowlps \ - -L$(LIBOWLPSCLIENT_DIR) -lowlps-client \ - -lpcap + +## Compilation-time option ## + +CFLAGS += -D USE_CONFIG_FILE +LDFLAGS += -lconfuse +CFLAGS += -D USE_PTHREAD +LDFLAGS += -pthread +#CFLAGS += -D ENABLE_KEEP_MONITOR +#LDFLAGS += -liw + + +## Additional libraries ## + +LDFLAGS += -lpcap + +STATIC_LDFLAGS += $(LIBOWLPS_DIR)/libowlps.a $(LIBOWLPSCLIENT_DIR)/libowlps-client.a +SEMISTATIC_LDFLAGS += $(STATIC_LDFLAGS) +DYNAMIC_LDFLAGS += -lowlps -lowlps-client OS := $(shell uname) ifeq "$(OS)" "Linux" - LIBS += -lrt + LDFLAGS += -lrt endif ifeq "$(OS)" "GNU/kFreeBSD" - LIBS += -lrt -endif -ifeq "$(OS)" "DragonFly" - CFLAGS += -I/usr/pkg/include - LIBS += -L/usr/pkg/lib -endif -ifeq "$(OS)" "NetBSD" - CFLAGS += -I/usr/pkg/include - LIBS += -L/usr/pkg/lib -endif -ifeq "$(OS)" "OpenBSD" - CFLAGS += -I/usr/local/include - LIBS += -L/usr/local/lib + LDFLAGS += -lrt endif -LDFLAGS = $(LIBS) $(OWLPSFLAGS) - -## Standard targets ## - -.PHONY : all dynamic static install uninstall clean purge help +## Targets ## dynamic: $(TARGET) +semistatic: $(TARGET).semistatic static: $(TARGET).static -all: dynamic static - -# Cancel implicit make rule -%: %.c - -% : %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LDFLAGS) -%.static : %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LDFLAGS) -static - $(STRIP) $@ -%.o : %.c $(HEADER) - $(CC) $(XCFLAGS) $(OWLPSFLAGS) -c $< +all: dynamic semistatic static ## Installation / uninstallation ## @@ -75,16 +49,6 @@ uninstall : @$(RM) $(INSTALL_DIR)/$(TARGET) -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(TARGET) - @$(RM) $(TARGET).static - - ## Help ## help : @@ -103,3 +67,6 @@ help : @echo @echo "Note: Files are installed under $(PREFIX)." @echo "Tune the PREFIX variable in the Makefile to change that." + + +include ../common-rules.mk diff --git a/owlps-listener/Makefile_atheros_openwrt b/owlps-listener/Makefile_atheros_openwrt deleted file mode 100644 index e048a05..0000000 --- a/owlps-listener/Makefile_atheros_openwrt +++ /dev/null @@ -1,87 +0,0 @@ -include ../common.mk - -# Target -TARGET=owlps-listenerd -HEADER=owlps-listener.h - -# Flags -LIBOWLPS_DIR = ../libowlps -LIBOWLPSCLIENT_DIR = ../libowlps-client -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes \ - -I$(LIBOWLPS_DIR) -I$(LIBOWLPSCLIENT_DIR) -#CFLAGS += -g -O0 -DEPFLAGS = -MMD -XCFLAGS = $(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG = -fPIC -LOWLPS = -L$(LIBOWLPS_DIR) -lowlps -LOWLPSA = $(LIBOWLPS_DIR)/libowlps.a -LOWLPSCLIENTA = $(LIBOWLPSCLIENT_DIR)/libowlps-client.a -LIBS = -lpcap -lm -lrt $(LOWLPSCLIENTA) -DYNAMIC_LIBS = $(TOOLCHAIN1)/lib/ld-uClibc.so.0 -SEMISTATIC_LIBS = $(DYNAMIC_LIBS) -STATIC_LIBS = -LATHEROS = -L$(TOOLCHAIN1)/lib -L$(TOOLCHAIN1)/usr/lib \ - -L$(TOOLCHAIN2)/usr/lib - #-L$(TOOLCHAIN2)/root-atheros/lib -IATHEROS = -I$(TOOLCHAIN1)/usr/include -I$(TOOLCHAIN2)/usr/include -OWLPSFLAGS = -D OWLPS_VERSION=\"$(OWLPS_VERSION)\" -#OWLPSFLAGS += -D USE_CONFIG_FILE -lconfuse -OWLPSFLAGS += -D USE_PTHREAD -pthread -#OWLPSFLAGS += -D ENABLE_KEEP_MONITOR -liw -#OWLPSFLAGS += -D NDEBUG -LDFLAGS = $(OWLPSFLAGS) $(LIBS) - - -## Standard targets ## - -.PHONY: all dynamic semistatic static install uninstall clean purge help - -dynamic: $(TARGET) -semistatic: $(TARGET).semistatic -static: $(TARGET).static -all: dynamic semistatic static - -# Cancel implicit make rule -%: %.c - -%: %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LOWLPS) $(IATHEROS) $(LATHEROS) $(LDFLAGS) $(DYNAMIC_LIBS) -%.semistatic: %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LOWLPSA) $(IATHEROS) $(LATHEROS) $(LDFLAGS) $(SEMISTATIC_LIBS) - $(STRIP) $@ -%.static: %.o - $(CC) $(XCFLAGS) -o $@ $^ $(LOWLPS) $(IATHEROS) $(LATHEROS) $(LDFLAGS) $(STATIC_LIBS) -static - $(STRIP) $@ - -%.o: %.c $(HEADER) - $(CC) $(XCFLAGS) $(IATHEROS) $(OWLPSFLAGS) -c $< - - -## Installation / uninstallation ## - -install : $(TARGET) - @$(CP) $(TARGET) $(INSTALL_DIR) - @cd $(INSTALL_DIR) ; chown root:root $(TARGET) ; chmod 755 $(TARGET) - -uninstall : - @$(RM) $(INSTALL_DIR)/$(TARGET) - - -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(TARGET) $(TARGET).static $(TARGET).semistatic - - -## Help ## - -help : - @make help - - -# Local Variables: * -# mode: makefile-gmake * -# End: * diff --git a/owlps-listener/owlps-listener.h b/owlps-listener/owlps-listener.h index b0b1e60..2c7cb98 100644 --- a/owlps-listener/owlps-listener.h +++ b/owlps-listener/owlps-listener.h @@ -17,8 +17,6 @@ //#define USE_PTHREAD // POSIX threads available? //#define ENABLE_KEEP_MONITOR // Enable the -K option (requires USE_PTHREAD) -#define DEBUG - #ifdef ENABLE_KEEP_MONITOR # ifndef USE_PTHREAD # error "The option ENABLE_KEEP_MONITOR requires the option USE_PTHREAD" diff --git a/owlps-positioner/Makefile b/owlps-positioner/Makefile index 5a15498..85eaccc 100644 --- a/owlps-positioner/Makefile +++ b/owlps-positioner/Makefile @@ -12,15 +12,12 @@ STYLE = astyle --style=gnu --indent=spaces=2 --formatted CPPCHECK = cppcheck --quiet --enable=all DOXYGEN = OWLPS_VERSION=$(OWLPS_VERSION) doxygen >/dev/null -# Flags -LIBOWLPS_DIR = ../libowlps -TESTSGXXFLAGS = -I$(TESTS_DIR) -I$(SRC_DIR) -I. -GXXFLAGS = -O2 -Wall -Wextra -I$(LIBOWLPS_DIR) -#GXXFLAGS += -g -O0 -LD = $(CXX) -LDFLAGS = -lstdc++ -lm -lboost_program_options \ - -L$(LIBOWLPS_DIR) -lowlps +# Flags for the tests +TESTSCXXFLAGS = -I$(TESTS_DIR) -I$(SRC_DIR) -I. +## Additional libraries ## + +LDFLAGS += -lstdc++ -lm -lboost_program_options -lowlps OS := $(shell uname) ifeq "$(OS)" "Linux" LDFLAGS += -lrt @@ -28,23 +25,7 @@ endif ifeq "$(OS)" "GNU/kFreeBSD" LDFLAGS += -lrt endif -ifeq "$(OS)" "DragonFly" - GXXFLAGS += -I/usr/pkg/include - LDFLAGS += -L/usr/pkg/lib -endif -ifeq "$(OS)" "NetBSD" - GXXFLAGS += -I/usr/pkg/include - LDFLAGS += -L/usr/pkg/lib -endif -ifeq "$(OS)" "OpenBSD" - GXXFLAGS += -I/usr/local/include - LDFLAGS += -L/usr/local/lib -endif -OWLPSFLAGS = -D OWLPS_VERSION=\"$(OWLPS_VERSION)\" - -# Targets -.PHONY : all dynamic static test doc clean purge install uninstall style check TARGET = owlps-positionerd OBJ_TARGET = $(OBJ_DIR)/$(TARGET).o @@ -131,16 +112,16 @@ all: dynamic static # Generic targets $(TESTS_DIR)/%.o: $(TESTS_DIR)/%.cc $(TESTS_DIR)/%.hh - $(CXX) $(GXXFLAGS) $(TESTSGXXFLAGS) -o $@ -c $< + $(CXX) $(CXXFLAGS) $(TESTSCXXFLAGS) -o $@ -c $< $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cc $(SRC_DIR)/%.hh - $(MKDIR) $(OBJ_DIR) && $(CXX) $(GXXFLAGS) $(OWLPSFLAGS) -o $@ -c $< + $(MKDIR) $(OBJ_DIR) && $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ -c $< %: $(OBJ_DIR)/%.o - $(LD) -o $@ $^ $(LDFLAGS) + $(CXX) $(STRIPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) %.static: $(OBJ_DIR)/%.o - $(LD) -o $@ $^ $(LDFLAGS) -static + $(CXX) $(STRIPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) -static $(STRIP) $@ # Dependencies @@ -336,7 +317,7 @@ $(TARGET): $(OBJ) $(OBJ_NOTEST) $(OBJ_TARGET) $(TARGET).static: $(OBJ) $(OBJ_NOTEST) $(OBJ_TARGET) $(OBJ_TARGET): $(SOURCE_TARGET) - $(CXX) $(GXXFLAGS) -o $@ -c $< + $(CXX) $(CXXFLAGS) -o $@ -c $< $(TESTS_XX): $(SOURCE_TESTS) $(OBJ) $(TESTS_DIR)/cxxtestgen.pl --error-printer \ @@ -345,7 +326,7 @@ $(TESTS_XX): $(SOURCE_TESTS) $(OBJ) -o $@ $(SOURCE_TESTS) $(TESTS_OBJ): $(TESTS_XX) $(INCLUDES_TESTS) - $(CXX) $(GXXFLAGS) $(TESTSGXXFLAGS) -o $@ -c $< + $(CXX) $(CXXFLAGS) $(TESTSCXXFLAGS) -o $@ -c $< $(TESTS_TARGET): $(TESTS_OBJ) $(OBJ_TESTS) $(OBJ) $(OBJ_NOTEST) $(LD) $(LDFLAGS) -o $@ $^ diff --git a/owlps-udp-to-http/Makefile b/owlps-udp-to-http/Makefile index fdc5f8c..2251f59 100644 --- a/owlps-udp-to-http/Makefile +++ b/owlps-udp-to-http/Makefile @@ -1,53 +1,26 @@ include ../common.mk -# Target TARGET = owlps-udp-to-http -HEADER = -# Flags -LIBOWLPS_DIR = ../libowlps -LIBOWLPSRESULTREADER_DIR = ../libowlps-resultreader -CFLAGS = -O2 -Wall -Wextra -Wstrict-prototypes \ - -I$(LIBOWLPS_DIR) -I$(LIBOWLPSRESULTREADER_DIR) -#CFLAGS += -g -O0 -DEPFLAGS = -MMD -XCFLAGS = $(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) -PICFLAG = -fPIC -OWLPSFLAGS = -D OWLPS_VERSION=\"$(OWLPS_VERSION)\" -OWLPSFLAGS += -D DEBUG -LIBS = -pthread -L$(LIBOWLPS_DIR) -lowlps \ - -L$(LIBOWLPSRESULTREADER_DIR) -lowlps-resultreader +## Additional libraries ## + +LDFLAGS += -pthread -lowlps -lowlps-resultreader OS := $(shell uname) ifeq "$(OS)" "Linux" - LIBS += -lrt + LDFLAGS += -lrt endif ifeq "$(OS)" "GNU/kFreeBSD" - LIBS += -lrt + LDFLAGS += -lrt endif -STATIC_LIBS = - -## Standard targets ## - -.PHONY : all dynamic static install uninstall clean purge help +## Targets ## dynamic : $(TARGET) static : $(TARGET).static all : dynamic static -# Cancel implicit make rule -%: %.c - -%: %.o - $(CC) $(LDFLAGS) $(STRIPFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS) -%.static: %.o - $(CC) $(STRIPFLAGS) $(XCFLAGS) -o $@ $^ \ - $(LDFLAGS) $(LIBS) $(STATIC_LIBS) -static -%.o: %.c $(HEADER) - $(CC) $(XCFLAGS) $(OWLPSFLAGS) -c $< - ## Installation / uninstallation ## @@ -63,15 +36,6 @@ uninstall : @$(RM) $(INSTALL_DIR)/{$(TARGET),$(TARGET).static} -## Cleaning ## - -clean : - @$(RM) *~ *.o *.d - -purge : clean - @$(RM) $(TARGET) $(TARGET).static - - ## Help ## help : @@ -90,3 +54,6 @@ help : @echo @echo "Note: Files are installed under $(PREFIX)." @echo "Tune the PREFIX variable in the Makefile to change that." + + +include ../common-rules.mk