lo.mk: Add file

This commit is contained in:
Jan Lindemann 2007-07-02 13:28:06 +00:00 committed by Jan Lindemann
commit 306cd22267

32
make/lo.mk Normal file
View file

@ -0,0 +1,32 @@
include $(MODDIR)/make/defs.mk
include $(MODDIR)/make/rules.mk
include $(MODDIR)/make/depend.mk
# === change this >
TOOLS_DIR ?= $(TOPDIR)/tools
CPP_PREFIX ?= YLo
SO_PREFIX ?= \
$(shell sed '/const char \*YAbstractLoadableObject::_soPrefix/ !d; s/[^"]*"//; s/".*//' \
$(YTOOLS_DIR)/YLoadableObject/YAbstractLoadableObject.cpp)
LOADABLE_OBJ_HOOK ?= LOADABLE_OBJECT_HOOK
# === change this <
.PRECIOUS: %.cpp
LOADABLE_OBJS = $(patsubst $(CPP_PREFIX)%,%,$(basename $(notdir $(wildcard $(TOOLS_DIR)/$(CPP_PREFIX)*.h))))
LOADABLE_OBJ_LIBS = $(addprefix $(SO_PREFIX), $(addsuffix .so, $(LOADABLE_OBJS)))
BUILD_LOADABLE_OBJ_LIBS = $(addprefix $(LIBDIR)/, $(LOADABLE_OBJ_LIBS))
all: $(LOADABLE_OBJ_LIBS) $(BUILD_LOADABLE_OBJ_LIBS)
clean:
rm -f *.o *.cpp *.so *.done
$(SO_PREFIX)%.so: %.o
$(CC) -shared $(LDFLAGS) $^ -o $@
%.cpp: $(TOOLS_DIR)/$(CPP_PREFIX)%.h
echo -e "#include \"$<\"\n$(LOADABLE_OBJ_HOOK)($(CPP_PREFIX)$*);\n" > $@
$(LIBDIR)/%.so: %.so
install -m 755 $< $@