Fix library makefile not issuing a job server due to variable expansion not working as expected
This commit is contained in:
parent
fd0dd378f4
commit
1830c18c5e
@ -31,6 +31,7 @@ LANG::=$(EXT)
|
||||
MAIN_LIBRARY::=tester
|
||||
PRE_TARGETS::=
|
||||
POST_TARGETS::=
|
||||
CLEAN_TARGETS::=
|
||||
SHARED?=1
|
||||
STATIC?=0
|
||||
RELEASE?=0
|
||||
@ -129,31 +130,32 @@ THIS_MAKEFILE_NAME::=$(lastword $(MAKEFILE_LIST))
|
||||
SOURCES::=$(foreach source,$(SOURCE_DIRS),$(foreach ext,$(EXT),$(wildcard $(source)/*.$(ext))))
|
||||
OBJECTS::=$(addprefix $(OBJDIR)/,$(subst \,.,$(subst /,.,$(addsuffix .o,$(SOURCES)))))
|
||||
|
||||
#generate a command to run a submake using this same makefile without printing "Entering directory" stuff
|
||||
#note: the empty line is required in this definition
|
||||
define RUN_SUBMAKE_TARGET
|
||||
@$(MAKE) --no-print-directory -f "$(THIS_MAKEFILE_NAME)" "$(1)" $(2)
|
||||
#Arguments to make submake use this makefile without "Entering directory" stuff
|
||||
SUBMAKE_ARGUMENTS::=--no-print-directory -f "$(THIS_MAKEFILE_NAME)"
|
||||
#just a variable for a newline
|
||||
define \n
|
||||
|
||||
|
||||
endef
|
||||
|
||||
#default target: run targets in PRE_TARGETS, then build the main library, then POST_TARGETS
|
||||
.PHONY: all
|
||||
all:
|
||||
$(foreach target,$(PRE_TARGETS),$(call RUN_SUBMAKE_TARGET,$(target)))
|
||||
$(foreach target,$(PRE_TARGETS),@$(MAKE) $(SUBMAKE_ARGUMENTS) "$(target)"$(\n))
|
||||
ifeq ($(SHARED),1)
|
||||
ifeq ($(WINDOWS),1)
|
||||
$(call RUN_SUBMAKE_TARGET,$(DLLOUT))
|
||||
@$(MAKE) $(SUBMAKE_ARGUMENTS) "$(DLLOUT)"
|
||||
else #windows
|
||||
$(call RUN_SUBMAKE_TARGET,$(INTERNAL_SHARED_LIBRARY))
|
||||
@$(MAKE) $(SUBMAKE_ARGUMENTS) "$(INTERNAL_SHARED_LIBRARY)"
|
||||
endif #windows
|
||||
endif #shared
|
||||
ifeq ($(STATIC),1)
|
||||
ifeq ($(SHARED),1)
|
||||
$(call RUN_SUBMAKE_TARGET,object_clean)
|
||||
@$(MAKE) $(SUBMAKE_ARGUMENTS) "object_clean"
|
||||
endif #shared
|
||||
$(call RUN_SUBMAKE_TARGET,$(INTERNAL_STATIC_LIBRARY),SHARED=0)
|
||||
@$(MAKE) $(SUBMAKE_ARGUMENTS) "$(INTERNAL_STATIC_LIBRARY)" SHARED=0
|
||||
endif #static
|
||||
$(foreach target,$(POST_TARGETS),$(call RUN_SUBMAKE_TARGET,$(target)))
|
||||
$(foreach target,$(POST_TARGETS),@$(MAKE) $(SUBMAKE_ARGUMENTS) "$(target)"$(\n))
|
||||
|
||||
ifeq ($(WINDOWS),1)
|
||||
#target for windows shared library
|
||||
@ -203,6 +205,7 @@ object_clean:
|
||||
|
||||
.PHONY: clean
|
||||
clean: object_clean
|
||||
$(foreach target,$(CLEAN_TARGETS),@$(MAKE) $(SUBMAKE_ARGUMENTS) "$(target)"$(\n))
|
||||
$(call rmdir,"$(DEPDIR)")
|
||||
$(call rm,"lib$(MAIN_LIBRARY).so")
|
||||
$(call rm,"lib$(MAIN_LIBRARY).a")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user