2013-10-13 10:09:17 +02:00
|
|
|
prefix=@prefix@
|
2013-12-03 14:29:13 +10:30
|
|
|
exec_prefix=@exec_prefix@
|
|
|
|
bindir=@bindir@
|
|
|
|
sbindir=@sbindir@
|
2014-03-26 15:35:43 +10:30
|
|
|
sysconfdir=@sysconfdir@
|
|
|
|
localstatedir=@localstatedir@
|
2013-10-13 10:09:17 +02:00
|
|
|
|
2012-10-18 17:10:45 +10:30
|
|
|
NACL_BASE= nacl/src
|
|
|
|
include $(NACL_BASE)/nacl.mk
|
2012-10-25 04:30:14 +10:30
|
|
|
include sourcefiles.mk
|
|
|
|
include headerfiles.mk
|
2012-03-15 09:24:31 +10:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
SERVAL_DAEMON_OBJS = \
|
|
|
|
$(addprefix objs_servald/, $(SERVAL_CLIENT_SOURCES:.c=.o)) \
|
|
|
|
$(addprefix objs_servald/, $(MDP_CLIENT_SOURCES:.c=.o)) \
|
|
|
|
$(addprefix objs_servald/, $(SERVAL_DAEMON_SOURCES:.c=.o))
|
|
|
|
SERVALD_OBJS = \
|
|
|
|
$(addprefix objs_servald/, $(notdir $(SQLITE3_SOURCES:.c=.o))) \
|
|
|
|
$(addprefix objs_servald/, $(NACL_SOURCES:.c=.o)) \
|
|
|
|
$(SERVAL_DAEMON_OBJS)
|
|
|
|
LIB_SERVAL_OBJS = \
|
|
|
|
$(addprefix objs_lib/, $(SERVAL_CLIENT_SOURCES:.c=.o)) \
|
|
|
|
$(addprefix objs_lib/, $(SERVAL_LIB_SOURCES:.c=.o)) \
|
|
|
|
$(addprefix objs_lib/, $(MDP_CLIENT_SOURCES:.c=.o))
|
|
|
|
MONITOR_CLIENT_OBJS = \
|
|
|
|
$(addprefix objs_lib/, $(SERVAL_CLIENT_SOURCES:.c=.o)) \
|
|
|
|
$(addprefix objs_lib/, $(MONITOR_CLIENT_SRCS:.c=.o))
|
|
|
|
SIMULATOR_OBJS = \
|
|
|
|
$(addprefix objs/, $(SIMULATOR_SOURCES:.c=.o))
|
2012-03-15 09:24:31 +10:30
|
|
|
|
2014-04-07 15:48:10 +09:30
|
|
|
LDFLAGS=@LDFLAGS@ @LIBS@ @PTHREAD_LIBS@
|
2012-03-15 09:24:31 +10:30
|
|
|
|
2014-04-07 15:48:10 +09:30
|
|
|
CFLAGS= -Isqlite-amalgamation-3070900 @CPPFLAGS@ @CFLAGS@ @PTHREAD_CFLAGS@ -Inacl/include
|
2014-03-26 15:35:43 +10:30
|
|
|
CFLAGS+=-DSYSCONFDIR="\"$(sysconfdir)\"" -DLOCALSTATEDIR="\"$(localstatedir)\""
|
2012-08-06 17:03:00 +09:30
|
|
|
CFLAGS+=-fPIC
|
2014-05-02 15:44:39 +09:30
|
|
|
CFLAGS+=-Wall -Wno-unused-value -Werror
|
2012-09-05 18:53:22 +09:30
|
|
|
# Solaris magic
|
|
|
|
CFLAGS+=-DSHA2_USE_INTTYPES_H -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__=1
|
2012-09-06 14:32:17 +09:30
|
|
|
# OSX magic to compensate for the Solaris magic
|
|
|
|
CFLAGS+=-D_DARWIN_C_SOURCE
|
2013-12-03 14:29:13 +10:30
|
|
|
|
|
|
|
INSTALL= install
|
|
|
|
INSTALL_PROGRAM=$(INSTALL)
|
|
|
|
INSTALL_DATA= $(INSTALL) -m 644
|
|
|
|
|
2012-07-29 14:55:10 +09:30
|
|
|
-include Makefile.dbg
|
2012-06-15 15:01:14 +09:30
|
|
|
|
2013-10-13 09:01:05 +02:00
|
|
|
# More warnings, discover problems that only happen on some archs
|
|
|
|
CFLAGS+=-Wextra
|
|
|
|
# Security enhancements from Debian
|
2014-02-25 14:47:00 +10:30
|
|
|
CFLAGS+=-Wformat -Werror=format-security -D_FORTIFY_SOURCE=2
|
2013-10-13 09:01:05 +02:00
|
|
|
|
2012-06-15 15:01:14 +09:30
|
|
|
DEFS= @DEFS@
|
2012-04-23 20:17:11 +09:30
|
|
|
|
2013-08-19 16:59:10 +09:30
|
|
|
.PHONY: all test clean
|
|
|
|
|
2013-08-19 13:35:58 +09:30
|
|
|
all: servald libmonitorclient.so libmonitorclient.a test
|
|
|
|
|
2014-05-02 14:02:25 +09:30
|
|
|
test: tfw_createfile directory_service fakeradio config_test simulator
|
2012-03-15 09:24:31 +10:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
Makefile: $(wildcard Makefile.in) $(wildcard configure)
|
|
|
|
$(warning Makefile may be out of date, please run ./configure)
|
2012-04-20 17:10:38 +09:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
configure: $(wildcard configure.in)
|
|
|
|
$(warning configure may be out of date, please run autoreconf -f -i)
|
|
|
|
|
|
|
|
objs/version.o: $(SERVALD_OBJS) version_string.sh $(wildcard VERSION.txt) COPYRIGHT.txt Makefile
|
2013-08-19 13:35:58 +09:30
|
|
|
@echo CC version_servald.c
|
2013-09-12 17:27:07 +09:30
|
|
|
@V=`./version_string.sh --ignore-untracked` \
|
2013-12-05 13:21:58 +10:30
|
|
|
&& C="`sed -e :a -e N -e '$$!ba' -e 's/[\\\\"]/\\\\&/g' -e 's/\\n/\\\\n/g' COPYRIGHT.txt`" \
|
|
|
|
&& $(CC) -c version_servald.c -o $@ -DSERVALD_VERSION="\"$$V\"" -DSERVALD_COPYRIGHT="\"$$C\""
|
2013-08-19 13:35:58 +09:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
#' <-- fixes vim syntax highlighting
|
2014-05-09 15:27:23 +09:30
|
|
|
|
2014-05-29 11:04:09 +09:30
|
|
|
objs_servald/sqlite3.o: sqlite-amalgamation-3070900/sqlite3.c Makefile
|
2014-05-23 17:49:00 +09:30
|
|
|
@echo SERVALD CC $<
|
|
|
|
@mkdir -p $(dir $@)
|
|
|
|
@$(CC) $(CFLAGS) $(DEFS) -c $< -o $@
|
|
|
|
|
|
|
|
# No object files in source directory!
|
|
|
|
%.o: %.c
|
2014-05-09 15:27:23 +09:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
objs/%.o: %.c
|
2012-05-10 13:23:06 +09:30
|
|
|
@echo CC $<
|
2014-05-23 17:49:00 +09:30
|
|
|
@mkdir -p $(dir $@)
|
2014-05-29 11:04:09 +09:30
|
|
|
@$(RM) $(@:.o=.gcno) $(@:.o=.gcda)
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) $(DEFS) -c $< -o $@
|
|
|
|
|
|
|
|
objs_servald/%.o: %.c
|
|
|
|
@echo SERVALD CC $<
|
|
|
|
@mkdir -p $(dir $@)
|
2014-05-29 11:04:09 +09:30
|
|
|
@$(RM) $(@:.o=.gcno) $(@:.o=.gcda)
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) $(DEFS) -c $< -o $@
|
|
|
|
|
|
|
|
objs_lib/%.o: %.c
|
|
|
|
@echo LIB CC $<
|
|
|
|
@mkdir -p $(dir $@)
|
2014-05-29 11:04:09 +09:30
|
|
|
@$(RM) $(@:.o=.gcno) $(@:.o=.gcda)
|
2012-10-18 17:10:45 +10:30
|
|
|
@$(CC) $(CFLAGS) $(DEFS) -c $< -o $@
|
2012-03-15 09:24:31 +10:30
|
|
|
|
2014-03-04 21:53:01 +10:30
|
|
|
$(SERVAL_DAEMON_OBJS): $(HDRS)
|
2014-05-29 11:04:09 +09:30
|
|
|
$(SERVALD_OBJS): Makefile
|
|
|
|
$(LIB_SERVAL_OBJS): $(HDRS) Makefile
|
|
|
|
$(MONITOR_CLIENT_OBJS): $(HDRS) Makefile
|
|
|
|
$(SIMULATOR_OBJS): $(HDRS) Makefile
|
|
|
|
objs/directory_service.o objs/tfw_createfile.o objs/fakeradio.o \
|
|
|
|
objs/config_test.o objs/conf_om.o objs/conf_schema.o objs/conf_parse.o libserval.a \
|
|
|
|
: $(HDRS) Makefile
|
2012-11-22 18:18:00 +10:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
servald: $(SERVALD_OBJS) objs/version.o
|
2012-05-10 13:23:06 +09:30
|
|
|
@echo LINK $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) -Wall -o $@ $(SERVALD_OBJS) objs/version.o $(LDFLAGS)
|
|
|
|
|
|
|
|
libserval.a: $(LIB_SERVAL_OBJS) objs/version.o
|
|
|
|
@echo AR $@
|
|
|
|
@$(AR) -cr $@ $(LIB_SERVAL_OBJS) objs/version.o
|
2012-04-20 16:57:36 +09:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
directory_service: objs/directory_service.o libserval.a
|
2012-09-14 11:50:45 +09:30
|
|
|
@echo LINK $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) -Wall -o $@ objs/directory_service.o libserval.a $(LDFLAGS)
|
2012-09-14 11:50:45 +09:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
tfw_createfile: objs/tfw_createfile.o libserval.a
|
2012-10-31 18:13:33 +10:30
|
|
|
@echo LINK $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) -Wall -o $@ objs/tfw_createfile.o libserval.a $(LDFLAGS)
|
2012-10-31 18:13:33 +10:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
fakeradio: objs/fakeradio.o libserval.a
|
2013-08-19 13:56:19 +09:30
|
|
|
@echo LINK $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) -Wall -o $@ objs/fakeradio.o libserval.a $(LDFLAGS)
|
2013-08-19 13:56:19 +09:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
simulator: $(SIMULATOR_OBJS) libserval.a
|
2014-05-02 14:02:25 +09:30
|
|
|
@echo LINK $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) -Wall -o $@ $(SIMULATOR_OBJS) libserval.a $(LDFLAGS)
|
2014-05-02 14:02:25 +09:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
config_test: objs/config_test.o objs/conf_om.o objs/conf_schema.o objs/conf_parse.o libserval.a
|
2013-11-21 12:12:46 +10:30
|
|
|
@echo LINK $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) -Wall -o $@ objs/config_test.o objs/conf_om.o objs/conf_schema.o objs/conf_parse.o libserval.a $(LDFLAGS)
|
2013-11-21 12:12:46 +10:30
|
|
|
|
2013-12-11 15:10:01 +10:30
|
|
|
copyright:
|
|
|
|
@if [ -x "$(COPYRIGHT_TOOL)" ]; then \
|
|
|
|
echo GENERATE COPYRIGHT.txt; \
|
|
|
|
$(COPYRIGHT_TOOL) -o COPYRIGHT.txt condense *.c *.h; \
|
|
|
|
else \
|
|
|
|
echo 'sp-copyright-tool is not in $$PATH; COPYRIGHT.txt not updated'; \
|
|
|
|
fi
|
2013-12-05 13:21:58 +10:30
|
|
|
|
|
|
|
findPATH = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(PATH)))))
|
|
|
|
COPYRIGHT_TOOL := $(call findPATH,sp-copyright-tool)
|
|
|
|
|
2012-06-15 15:01:14 +09:30
|
|
|
# This does not build on 64 bit elf platforms as NaCL isn't built with -fPIC
|
|
|
|
# DOC 20120615
|
2014-05-23 17:49:00 +09:30
|
|
|
libserval.so: $(SERVALD_OBJS) objs/version.o
|
2012-05-10 13:23:06 +09:30
|
|
|
@echo LINK $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) -Wall -shared -o $@ $(SERVALD_OBJS) objs/version.o $(LDFLAGS)
|
2012-03-15 09:24:31 +10:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
libmonitorclient.so: $(MONITOR_CLIENT_OBJS) objs/version.o
|
2012-07-29 12:35:53 +09:30
|
|
|
@echo LINK $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(CC) $(CFLAGS) -Wall -shared -o $@ $(MONITOR_CLIENT_OBJS) objs/version.o $(LDFLAGS)
|
2012-03-15 09:24:31 +10:30
|
|
|
|
2014-05-23 17:49:00 +09:30
|
|
|
libmonitorclient.a: $(MONITOR_CLIENT_OBJS) objs/version.o
|
2012-08-10 14:36:46 +09:30
|
|
|
@echo AR $@
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(AR) -cr $@ $(MONITOR_CLIENT_OBJS) objs/version.o
|
2012-08-10 14:36:46 +09:30
|
|
|
|
2013-10-13 10:09:17 +02:00
|
|
|
install: servald
|
2013-12-03 14:29:13 +10:30
|
|
|
$(INSTALL_PROGRAM) -D servald $(DESTDIR)$(sbindir)/servald
|
|
|
|
|
|
|
|
uninstall:
|
|
|
|
$(RM) $(DESTDIR)$(sbindir)/servald
|
2013-10-13 10:09:17 +02:00
|
|
|
|
2012-05-21 13:53:34 +09:30
|
|
|
clean:
|
2014-05-23 17:49:00 +09:30
|
|
|
@$(RM) -r objs/* objs_servald/* objs_lib/* \
|
|
|
|
servald libservald.so \
|
|
|
|
libserval.a libmonitorclient.so libmonitorclient.a \
|
|
|
|
fakeradio \
|
|
|
|
tfw_createfile
|