$(TOPDIR), make, scripts: Merged changes from V_1_1_31_6_POST_ACCEPTANCE

This commit is contained in:
Jan Lindemann 2011-05-15 18:28:19 +00:00 committed by Jan Lindemann
commit d1857e8d77
14 changed files with 251 additions and 60 deletions

View file

@ -1,6 +1,7 @@
# === change this >
TOOLS_DIR ?= $(TOPDIR)/tools
CPP_PREFIX ?= YLo
CPP_SUFFIX ?=
SO_PREFIX ?= lo_
LOADABLE_OBJ_HOOK ?= LOADABLE_OBJECT_HOOK
# === change this <
@ -8,7 +9,7 @@ LOADABLE_OBJ_HOOK ?= LOADABLE_OBJECT_HOOK
include $(MODDIR)/make/defs.mk
.PRECIOUS: %.cpp
LOADABLE_OBJS_BASE = $(patsubst $(CPP_PREFIX)%,%,$(basename $(notdir $(wildcard $(TOOLS_DIR)/$(CPP_PREFIX)*.h))))
LOADABLE_OBJS_BASE = $(patsubst %$(CPP_SUFFIX),%,$(patsubst $(CPP_PREFIX)%,%,$(basename $(notdir $(wildcard $(TOOLS_DIR)/$(CPP_PREFIX)*$(CPP_SUFFIX).h)))))
LOADABLE_OBJS = $(filter-out $(LOADABLE_OBJ_IGNORE),$(LOADABLE_OBJS_BASE))
LOADABLE_OBJS_CPP = $(patsubst %,%.cpp,$(LOADABLE_OBJS))
LOADABLE_OBJS_O = $(patsubst %,%.o,$(LOADABLE_OBJS))
@ -34,16 +35,19 @@ all: $(LOADABLE_OBJ_LIBS) $(BUILD_LOADABLE_OBJ_LIBS)
install: $(INSTALLED_LOADABLE_OBJ_LIBS)
clean: clean.lo
clean.lo: profclean
rm -f $(filter-out $(CPP_PREFIX)%.cpp,$(wildcard *.o *.cpp *.so *.done *.dll $(OTHER_LIB)))
clean.generated:
rm -f $(patsubst $(CPP_PREFIX)%$(CPP_SUFFIX),%,$(notdir $(wildcard $(TOOLS_DIR)/$(CPP_PREFIX)*$(CPP_SUFFIX).cpp)))
clean.lo: profclean clean.generated
rm -f $(wildcard *.o *.so *.done *.dll $(OTHER_LIB))
$(SO_PREFIX)%.so $(SO_PREFIX)%.dll: %.o $(OTHER_LIB)
$(CPP) $< -L. $(OTHER_LIB_LDFLAGS) -shared $(LDFLAGS) -o $@
%.cpp: $(TOOLS_DIR)/$(CPP_PREFIX)%.h
%.cpp: $(TOOLS_DIR)/$(CPP_PREFIX)%$(CPP_SUFFIX).h
echo "#include \"$<\"" > $@.tmp
if [ "$(LO_NAMESPACE)" ]; then echo "using namespace $(LO_NAMESPACE);" >> $@.tmp; fi
echo "$(LOADABLE_OBJ_HOOK)($(CPP_PREFIX)$*);" >> $@.tmp
echo "$(LOADABLE_OBJ_HOOK)($(CPP_PREFIX)$*$(CPP_SUFFIX));" >> $@.tmp
mv $@.tmp $@
$(OTHER_LIB)(%.o): %.o