mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 12:03:31 +01:00
lo.mk: Only use OTHER_LIB when it's needed
Make the whole OTHER_LIB acrobatics optional, depending on ifneq ($(OTHER_CPP),).
This commit is contained in:
parent
73c6303e6f
commit
6d812014a1
1 changed files with 17 additions and 8 deletions
25
make/lo.mk
25
make/lo.mk
|
|
@ -12,9 +12,16 @@ LOADABLE_OBJS_BASE = $(patsubst $(CPP_PREFIX)%,%,$(basename $(notdir
|
||||||
LOADABLE_OBJS = $(filter-out $(LOADABLE_OBJ_IGNORE),$(LOADABLE_OBJS_BASE))
|
LOADABLE_OBJS = $(filter-out $(LOADABLE_OBJ_IGNORE),$(LOADABLE_OBJS_BASE))
|
||||||
LOADABLE_OBJS_CPP = $(patsubst %,%.cpp,$(LOADABLE_OBJS))
|
LOADABLE_OBJS_CPP = $(patsubst %,%.cpp,$(LOADABLE_OBJS))
|
||||||
LOADABLE_OBJS_O = $(patsubst %,%.o,$(LOADABLE_OBJS))
|
LOADABLE_OBJS_O = $(patsubst %,%.o,$(LOADABLE_OBJS))
|
||||||
OTHER_CPP = $(filter-out $(LOADABLE_OBJS_CPP),$(wildcard *.cpp))
|
|
||||||
|
OTHER_CPP_IGNORE = $(patsubst %,$(CPP_PREFIX)%.cpp,$(LOADABLE_OBJ_IGNORE))
|
||||||
|
OTHER_CPP = $(filter-out $(LOADABLE_OBJS_CPP) $(OTHER_CPP_IGNORE),$(wildcard *.cpp))
|
||||||
|
ifneq ($(OTHER_CPP),)
|
||||||
OTHER_O = $(patsubst %.cpp,%.o,$(OTHER_CPP))
|
OTHER_O = $(patsubst %.cpp,%.o,$(OTHER_CPP))
|
||||||
OTHER_MEMBERS_O = liblocal.a($(OTHER_O))
|
OTHER_LIB = liblocal.a
|
||||||
|
OTHER_LIB_LDFLAGS = -L. -llocal
|
||||||
|
OTHER_MEMBERS_O = $(OTHER_LIB)($(OTHER_O))
|
||||||
|
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
|
||||||
|
|
@ -28,10 +35,10 @@ install: $(INSTALLED_LOADABLE_OBJ_LIBS)
|
||||||
clean: clean.lo
|
clean: clean.lo
|
||||||
|
|
||||||
clean.lo: profclean
|
clean.lo: profclean
|
||||||
rm -f $(filter-out $(CPP_PREFIX)%.cpp,$(wildcard *.o *.cpp *.so *.done *.dll liblocal.a))
|
rm -f $(filter-out $(CPP_PREFIX)%.cpp,$(wildcard *.o *.cpp *.so *.done *.dll $(OTHER_LIB)))
|
||||||
|
|
||||||
$(SO_PREFIX)%.so $(SO_PREFIX)%.dll: %.o liblocal.a
|
$(SO_PREFIX)%.so $(SO_PREFIX)%.dll: %.o $(OTHER_LIB)
|
||||||
$(CPP) $< -L. -llocal -shared $(LDFLAGS) -o $@
|
$(CPP) $< -L. $(OTHER_LIB_LDFLAGS) -shared $(LDFLAGS) -o $@
|
||||||
|
|
||||||
%.cpp: $(TOOLS_DIR)/$(CPP_PREFIX)%.h
|
%.cpp: $(TOOLS_DIR)/$(CPP_PREFIX)%.h
|
||||||
echo "#include \"$<\"" > $@.tmp
|
echo "#include \"$<\"" > $@.tmp
|
||||||
|
|
@ -39,9 +46,11 @@ $(SO_PREFIX)%.so $(SO_PREFIX)%.dll: %.o liblocal.a
|
||||||
echo "$(LOADABLE_OBJ_HOOK)($(CPP_PREFIX)$*);" >> $@.tmp
|
echo "$(LOADABLE_OBJ_HOOK)($(CPP_PREFIX)$*);" >> $@.tmp
|
||||||
mv $@.tmp $@
|
mv $@.tmp $@
|
||||||
|
|
||||||
liblocal.a(%.o): %.o
|
$(OTHER_LIB)(%.o): %.o
|
||||||
ar cr liblocal.a $<
|
$(AR) r $(OTHER_LIB) $<
|
||||||
liblocal.a: $(OTHER_MEMBERS_O)
|
$(RANLIB) $(OTHER_LIB)
|
||||||
|
|
||||||
|
$(OTHER_LIB): $(OTHER_MEMBERS_O)
|
||||||
|
|
||||||
$(BUILD_LIBDIR)/%.so: %.so
|
$(BUILD_LIBDIR)/%.so: %.so
|
||||||
install -m 755 $< $@
|
install -m 755 $< $@
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue