diff options
author | Ian Campbell <ijc@debian.org> | 2019-01-06 13:37:59 +0000 |
---|---|---|
committer | Ian Campbell <ijc@debian.org> | 2019-01-06 13:37:59 +0000 |
commit | 837822a7c1fb8e7379e971799c0422e0999ab8ce (patch) | |
tree | 6135fe926d8b695a4b82c55af836bb9044943b34 | |
parent | e8685e11320c6a5d7cd2c6028be147e040a27c96 (diff) |
clean-static-build
Split static and dynamic builds
Only enable systemd for the dynamic build, the static build is targetting the
installer environment where systemd is not present.
To do this split the .o files into .o-dyn and .o-static and arrange for
appropriate *FLAGS etc for each case.
Gbp-Pq: Name clean-static-build.patch
-rw-r--r-- | Makefile | 35 |
1 files changed, 22 insertions, 13 deletions
@@ -5,35 +5,44 @@ CPPFLAGS += -DQCONTROL_VERSION=\"$(VERSION)\" PKG_CONFIG ?= pkg-config LDFLAGS += -g -LIBS += -lpthread -LIBS_STATIC += /usr/lib/$$(dpkg-architecture -qDEB_HOST_MULTIARCH)/liblua5.1.a -lpthread -lm -ldl +LIBS_DYNAMIC += -lpthread +LIBS_STATIC += /usr/lib/$$(dpkg-architecture -qDEB_HOST_MULTIARCH)/liblua5.1.a -lpthread -lm -ldl CFLAGS += $(shell $(PKG_CONFIG) --cflags lua5.1) -LIBS += $(shell $(PKG_CONFIG) --libs lua5.1) + +LIBS_DYNAMIC += $(shell $(PKG_CONFIG) --libs lua5.1) ifeq ($(shell $(PKG_CONFIG) --exists libsystemd-daemon 2>/dev/null && echo 1),1) -CPPFLAGS += -DHAVE_SYSTEMD -CFLAGS += $(shell $(PKG_CONFIG) --cflags libsystemd-daemon) -LIBS += $(shell $(PKG_CONFIG) --libs libsystemd-daemon) +CPPFLAGS_DYNAMIC += -DHAVE_SYSTEMD +CFLAGS_DYNAMIC += $(shell $(PKG_CONFIG) --cflags libsystemd-daemon) +LIBS_DYNAMIC += $(shell $(PKG_CONFIG) --libs libsystemd-daemon) endif SOURCES=qcontrol.c system.c qnap-pic.c ts209.c ts219.c ts409.c ts41x.c evdev.c a125.c synology.c -OBJECTS=$(SOURCES:.c=.o) +OBJECTS_DYNAMIC=$(SOURCES:.c=.o-dyn) +OBJECTS_STATIC=$(SOURCES:.c=.o-static) EXECUTABLE=qcontrol all: $(SOURCES) $(EXECUTABLE) $(EXECUTABLE)-static -$(EXECUTABLE): $(OBJECTS) - $(CC) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ +$(EXECUTABLE): $(OBJECTS_DYNAMIC) + $(CC) $(LDFLAGS) $(OBJECTS_DYNAMIC) $(LIBS_DYNAMIC) -o $@ + +$(EXECUTABLE)-static: $(OBJECTS_STATIC) + $(CC) $(LDFLAGS) $(OBJECTS_STATIC) $(LIBS_STATIC) -o $@ -$(EXECUTABLE)-static: $(OBJECTS) - $(CC) $(LDFLAGS) $(OBJECTS) $(LIBS_STATIC) -o $@ +$(OBJECTS_DYNAMIC): CPPFLAGS += $(CPPFLAGS_DYNAMIC) +$(OBJECTS_DYNAMIC): CFLAGS += $(CFLAGS_DYNAMIC) +%.o-dyn: %.c + $(CC) $(CPPFLAGS) $(CFLAGS) $< -o $@ -.c.o: +$(OBJECTS_STATIC): CPPFLAGS += $(CPPFLAGS_STATIC) +$(OBJECTS_STATIC): CFLAGS += $(CFLAGS_STATIC) +%.o-static: %.c $(CC) $(CPPFLAGS) $(CFLAGS) $< -o $@ clean: - rm -f $(OBJECTS) $(EXECUTABLE) $(EXECUTABLE)-static + rm -f $(OBJECTS_DYNAMIC) $(OBJECTS_STATIC) $(EXECUTABLE) $(EXECUTABLE)-static dist: RELEASES := $(PWD)/../releases/ dist: TARBALL := qcontrol-$(VERSION).tar |