lo.mk: Fix support for LOADABLE_OBJ_IGNORE

LOADABLE_OBJ_IGNORE still had stuff rebuilt that should have been ignored, this
commit fixes that.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2019-07-06 14:33:36 +00:00
commit d36ec44d5e

View file

@ -1,11 +1,12 @@
# === change this > # === pre-define these >
TOOLS_DIR ?= $(TOPDIR)/tools TOOLS_DIR ?= $(TOPDIR)/tools
TOOLS_INCLUDE_DIR ?= $(TOOLS_DIR) TOOLS_INCLUDE_DIR ?= $(TOOLS_DIR)
CPP_PREFIX ?= YLo CPP_PREFIX ?= YLo
CPP_SUFFIX ?= CPP_SUFFIX ?=
SO_PREFIX ?= lo_ SO_PREFIX ?= lo_
LOADABLE_OBJ_HOOK ?= LOADABLE_OBJECT_HOOK LOADABLE_OBJ_HOOK ?= LOADABLE_OBJECT_HOOK
# === change this < LOADABLE_OBJ_IGNORE ?=
# === pre-define these <
include $(JWBDIR)/make/defs.mk include $(JWBDIR)/make/defs.mk
include $(JWBDIR)/make/defs-cpp.mk include $(JWBDIR)/make/defs-cpp.mk
@ -19,22 +20,23 @@ LOADABLE_OBJS = $(filter-out $(LOADABLE_OBJ_IGNORE),$(LOADABLE_OB
LOADABLE_OBJ_CPP = $(patsubst %,%.cpp,$(LOADABLE_OBJS)) LOADABLE_OBJ_CPP = $(patsubst %,%.cpp,$(LOADABLE_OBJS))
LOADABLE_OBJS_O = $(patsubst %,%.o,$(LOADABLE_OBJS)) LOADABLE_OBJS_O = $(patsubst %,%.o,$(LOADABLE_OBJS))
OTHER_CPP_IGNORE = $(patsubst %,$(CPP_PREFIX)%.cpp,$(LOADABLE_OBJ_IGNORE)) OTHER_CPP_IGNORE += $(patsubst %,$(CPP_PREFIX)%.cpp,$(LOADABLE_OBJ_IGNORE)) $(patsubst %,%.cpp,$(LOADABLE_OBJ_IGNORE))
SRC_ALL_CPP_IGNORE += $(OTHER_CPP_IGNORE)
OTHER_CPP ?= $(filter-out $(LOADABLE_OBJ_CPP) $(OTHER_CPP_IGNORE),$(wildcard *.cpp)) OTHER_CPP ?= $(filter-out $(LOADABLE_OBJ_CPP) $(OTHER_CPP_IGNORE),$(wildcard *.cpp))
ifneq ($(OTHER_CPP),) ifneq ($(OTHER_CPP),)
OTHER_O = $(patsubst %.cpp,%.o,$(OTHER_CPP)) OTHER_O = $(patsubst %.cpp,%.o,$(OTHER_CPP))
OTHER_LIB = liblocal.a OTHER_LIB = liblocal.a
OTHER_LIB_LDFLAGS = -L. -llocal OTHER_LIB_LDFLAGS = -L. -llocal
OTHER_MEMBERS_O = $(OTHER_LIB)($(OTHER_O)) OTHER_MEMBERS_O = $(OTHER_LIB)($(OTHER_O))
endif endif
ifneq ($(TARGET),mingw) ifneq ($(TARGET),mingw)
LOADABLE_OBJ_LIBS = $(addprefix $(SO_PREFIX), $(addsuffix .so, $(LOADABLE_OBJS))) LOADABLE_OBJ_LIBS = $(addprefix $(SO_PREFIX), $(addsuffix .so, $(LOADABLE_OBJS)))
else else
LOADABLE_OBJ_LIBS = $(addprefix $(SO_PREFIX), $(addsuffix .dll, $(LOADABLE_OBJS))) LOADABLE_OBJ_LIBS = $(addprefix $(SO_PREFIX), $(addsuffix .dll, $(LOADABLE_OBJS)))
endif endif
BUILD_LOADABLE_OBJ_LIBS = $(addprefix $(BUILD_LIBDIR)/, $(LOADABLE_OBJ_LIBS)) BUILD_LOADABLE_OBJ_LIBS = $(addprefix $(BUILD_LIBDIR)/,$(LOADABLE_OBJ_LIBS))
INSTALLED_LOADABLE_OBJ_LIBS = $(addprefix $(INSTALL_LIBDIR)/, $(LOADABLE_OBJ_LIBS)) INSTALLED_LOADABLE_OBJ_LIBS = $(addprefix $(INSTALL_LIBDIR)/,$(LOADABLE_OBJ_LIBS))
all: $(LOADABLE_OBJ_LIBS) $(BUILD_LOADABLE_OBJ_LIBS) all: $(LOADABLE_OBJ_LIBS) $(BUILD_LOADABLE_OBJ_LIBS)
install: $(INSTALLED_LOADABLE_OBJ_LIBS) install: $(INSTALLED_LOADABLE_OBJ_LIBS)