Makefiles: add common-rules.mk, drop openwrt files

This is the sequel of the work on the Makefiles' unification.
This commit is contained in:
Matteo Cypriani 2012-05-24 14:19:04 +02:00
parent bb45348f05
commit 316db76861
14 changed files with 205 additions and 562 deletions

View File

@ -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 ##

32
common-rules.mk Normal file
View File

@ -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

View File

@ -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 ###

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: *

View File

@ -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

View File

@ -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: *

View File

@ -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"

View File

@ -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 $@ $^

View File

@ -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