### # @file Makefile.prebuilt.template # @breif This is the file user has to setup locally for different host environment # # @param VOBJ object files applicable for compilation # @param LOBJ object files included in lib$(NAME).a # @param COBJ object files applicable to standard-make-targets # # @author Howard Chen ## GCC ?= $(CROSS)gcc CC ?= $(GCC) CXX ?= $(CROSS)g++ OBJDUMP = $(CROSS)objdump OBJCOPY = $(CROSS)objcopy AR = $(CROSS)ar SUBLPATH?= $(SUBVPATH) INCLUDE ?= $(DEF_INCLUDE) CFLAGS ?= $(DEF_CFLAGS) ASFLAGS ?= $(DEF_ASFLAGS) LDFLAGS ?= $(DEF_LDFLAGS) DOC_GEN ?= $(PREFIX)/APITemp.txt VPATH ?= src $(SUBVPATH) VOBJ ?= $(patsubst %.S,%.o, \ $(patsubst %.s,%.o, \ $(patsubst %.c,%.o, \ $(patsubst %.cpp, %.o, \ $(notdir $(foreach DIR,$(VPATH),\ $(wildcard $(DIR)/*.S) \ $(wildcard $(DIR)/*.s) \ $(wildcard $(DIR)/*.c) \ $(wildcard $(DIR)/*.cpp))))))) LPATH ?= src $(SUBLPATH) LOBJ ?= $(patsubst %.S,%.o, \ $(patsubst %.s,%.o, \ $(patsubst %.c,%.o, \ $(patsubst %.cpp, %.o, \ $(notdir $(foreach DIR,$(LPATH),\ $(wildcard $(DIR)/*.S) \ $(wildcard $(DIR)/*.s) \ $(wildcard $(DIR)/*.c) \ $(wildcard $(DIR)/*.cpp))))))) COBJ ?= $(patsubst %.c,%.o, \ $(patsubst %.cpp, %.o, \ $(notdir $(foreach DIR,$(VPATH),\ $(wildcard $(DIR)/*.c) \ $(wildcard $(DIR)/*.cpp))))) DEP = $(COBJ:%.o=%.d) TEST = $(COBJ:%.o=%.x) RUNS = $(COBJ:%.o=%.x.run) MIN ?=1 default: all all: gen_dir: mkdir -p $(ROOT)/bin mkdir -p $(ROOT)/${base_libdir} mkdir -p $(ROOT)/$(includedir)/$(NAME) ifeq ($(strip $(MIN)),1) mkdir -p $(ROOT)/doc else mkdir -p $(ROOT)/doc/$(NAME) endif mkdir -p $(ROOT)/test/$(NAME) install: gen_dir $(INSTALL) rm -f $(ROOT)/${base_libdir}/lib$(NAME).* $(ROOT)/${base_libdir}/$(NAME).dll ifdef LIB ifneq ($(strip $(LIB)), dummy) ifneq ($(strip $(base_libdir)),"") install -p ./$(base_libdir)/lib$(NAME).* $(ROOT)/$(base_libdir)/ endif endif endif bash -c 'if ls *.x > /dev/null 2>&1 ; then install *.x $(ROOT)/test/$(NAME); fi' bash -c 'if [ -e ./$(includedir)/$(NAME) ] && [ "$(shell ls -A "./$(includedir)/$(NAME)")" ]; then rm -rf $(ROOT)/$(includedir)/$(NAME)/*; cp -af ./$(includedir)/$(NAME)/* $(ROOT)/$(includedir)/$(NAME); fi' ifeq ($(strip $(MIN)),1) else install -p doc/html/* $(ROOT)/doc/$(NAME)/ endif bash -c 'if [ -e ./doc/$(NAME).files ]; then cp ./doc/$(NAME).files $(ROOT)/doc/$(NAME).files; fi' bash -c 'if [ -e ./doc/$(NAME).info ]; then cp ./doc/$(NAME).info $(ROOT)/doc/$(NAME).info; fi' uninstall: $(UNINSTALL) rm -rf $(ROOT)/$(includedir)/$(NAME) rm -rf $(ROOT)/test/$(NAME) ifneq ($(strip $(LIB)), dummy) cd $(ROOT)/$(base_libdir)/ && rm -f $(LIB) endif rm -f $(ROOT)/doc/$(NAME).files rm -f $(ROOT)/doc/$(NAME).info