From 53f310856b1ecd00f48aa4bd8d962ce9b13909e2 Mon Sep 17 00:00:00 2001 From: midipix Date: Nov 11 2016 04:35:45 +0000 Subject: build system: Makefile.in, custom.mk: added --all-[static|shared] support. --- diff --git a/Makefile.in b/Makefile.in index 5739b0f..5a02d0f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -104,8 +104,13 @@ all: shared static app install: install-libs install-headers install-app install-extras -app: default-app +app: package-app app-tag +app-tag: package-app app.tag + +app.tag: package-app + cp $(PACKAGE_APP) $(APP) + touch app.tag install-libs: install-shared install-static install-libs-extras @@ -147,11 +152,11 @@ static-lib: static-objs $(STATIC_LIB) -default-app: version.tag static $(DEFAULT_APP) $(APP) +default-app: version.tag static-objs $(DEFAULT_APP) shared-app: version.tag shared $(SHARED_APP) -static-app: version.tag static $(STATIC_APP) +static-app: version.tag static-objs $(STATIC_APP) @@ -167,16 +172,18 @@ $(SHARED_LIB): $(SHARED_OBJS) $(STATIC_LIB): $(STATIC_OBJS) -$(APP): $(DEFAULT_APP) - cp $^ $@ +$(APP): $(PACKAGE_APP) $(DEFAULT_APP): $(STATIC_OBJS) $(APP_OBJS) + rm -f app.tag $(CC) -o $@ $^ $(LDFLAGS_APP) $(SHARED_APP): $(SHARED_LIB) $(APP_OBJS) + rm -f app.tag $(CC) -o $@ $(APP_OBJS) -l$(PACKAGE) $(LDFLAGS_SHARED) $(STATIC_APP): $(STATIC_OBJS) $(APP_OBJS) + rm -f app.tag $(CC) -static -o $@ $^ -l$(PACKAGE) $(LDFLAGS_STATIC) @@ -322,6 +329,7 @@ clean: clean-implib .PHONY: all install shared static app .display \ + package-app \ shared-objs shared-lib \ static-objs static-lib \ default-app shared-app static-app \ diff --git a/project/custom.mk b/project/custom.mk index 16ff41d..e58f88c 100644 --- a/project/custom.mk +++ b/project/custom.mk @@ -5,3 +5,27 @@ endif ifeq ($(OS_BINFMT),ELF) include $(PROJECT_DIR)/sysinfo/os/elf.mk endif + + + +ifeq ($(ALL_STATIC),yes) + +package-app: static-app +app: PACKAGE_APP = $(STATIC_APP) +app-tag: PACKAGE_APP = $(STATIC_APP) + + +else ifeq ($(ALL_SHARED),yes) + +package-app: shared-app +app: PACKAGE_APP = $(SHARED_APP) +app-tag: PACKAGE_APP = $(SHARED_APP) + + +else + +package-app: default-app +app: PACKAGE_APP = $(DEFAULT_APP) +app-tag: PACKAGE_APP = $(DEFAULT_APP) + +endif