| ##===- polly/lib/Makefile -----------------------*- Makefile -*-===## |
| |
| # |
| # Indicate where we are relative to the top of the source tree. |
| # |
| LEVEL :=.. |
| |
| LIBRARYNAME=LLVMPolly |
| LOADABLE_MODULE = 1 |
| |
| include $(LEVEL)/Makefile.config |
| |
| CPP.Flags += $(POLLY_INC) |
| |
| DIRS = Exchange |
| USEDLIBS = pollyexchange.a |
| |
| DIRS += Analysis |
| USEDLIBS += pollyanalysis.a |
| |
| DIRS += CodeGen |
| USEDLIBS += pollycodegen.a |
| |
| # This needs to be added after the files that use it, otherwise some functions |
| # from pollysupport are not available. They will be eliminated if they are |
| # not used at the time of linking pollysupport.a |
| DIRS += Support |
| USEDLIBS += pollysupport.a |
| |
| DIRS += JSON |
| USEDLIBS += pollyjson.a |
| |
| # TODO: Export symbols for RTTI or EH? |
| |
| # |
| # Include Makefile.common so we know what to do. |
| # |
| include $(LEVEL)/Makefile.common |
| |
| LIBS += $(POLLY_LD) $(POLLY_LIB) |
| |
| $(LibDir)/libpollyanalysis.a : $(LibDir)/.dir $(PROJ_OBJ_DIR)/Analysis/$(BuildMode)/.dir \ |
| $(PROJ_SRC_DIR)/Analysis/* |
| $(Verb) if [ -d $(PROJ_SRC_DIR)/Analysis ]; then\ |
| if ([ ! -f Analysis/Makefile ] || \ |
| command test Analysis/Makefile -ot $(PROJ_SRC_DIR)/Analysis/Makefile ); then \ |
| $(MKDIR) Analysis; \ |
| $(CP) $(PROJ_SRC_DIR)/Analysis/Makefile Analysis/Makefile; \ |
| fi; \ |
| ($(MAKE) -C Analysis $@ ) || exit 1; \ |
| fi |
| |
| $(LibDir)/libpollycodegen.a : $(LibDir)/.dir $(PROJ_OBJ_DIR)/CodeGen/$(BuildMode)/.dir \ |
| $(PROJ_SRC_DIR)/CodeGen/* |
| $(Verb) if [ -d $(PROJ_SRC_DIR)/CodeGen ]; then\ |
| if ([ ! -f CodeGen/Makefile ] || \ |
| command test CodeGen/Makefile -ot $(PROJ_SRC_DIR)/CodeGen/Makefile ); then \ |
| $(MKDIR) CodeGen; \ |
| $(CP) $(PROJ_SRC_DIR)/CodeGen/Makefile CodeGen/Makefile; \ |
| fi; \ |
| ($(MAKE) -C CodeGen $@ ) || exit 1; \ |
| fi |
| |
| $(LibDir)/libpollyexchange.a : $(LibDir)/.dir $(PROJ_OBJ_DIR)/Exchange/$(BuildMode)/.dir \ |
| $(PROJ_SRC_DIR)/Exchange/* |
| $(Verb) if [ -d $(PROJ_SRC_DIR)/Exchange ]; then\ |
| if ([ ! -f Exchange/Makefile ] || \ |
| command test Exchange/Makefile -ot $(PROJ_SRC_DIR)/Exchange/Makefile ); then \ |
| $(MKDIR) Exchange; \ |
| $(CP) $(PROJ_SRC_DIR)/Exchange/Makefile Exchange/Makefile; \ |
| fi; \ |
| ($(MAKE) -C Exchange $@ ) || exit 1; \ |
| fi |
| |
| $(LibDir)/libpollysupport.a : $(LibDir)/.dir $(PROJ_OBJ_DIR)/Support/$(BuildMode)/.dir \ |
| $(PROJ_SRC_DIR)/Support/* |
| $(Verb) if [ -d $(PROJ_SRC_DIR)/Support ]; then\ |
| if ([ ! -f Support/Makefile ] || \ |
| command test Support/Makefile -ot $(PROJ_SRC_DIR)/Support/Makefile ); then \ |
| $(MKDIR) Support; \ |
| $(CP) $(PROJ_SRC_DIR)/Support/Makefile Support/Makefile; \ |
| fi; \ |
| ($(MAKE) -C Support $@ ) || exit 1; \ |
| fi |
| |
| $(LibDir)/libpollyjson.a : $(LibDir)/.dir $(PROJ_OBJ_DIR)/JSON/$(BuildMode)/.dir \ |
| $(PROJ_SRC_DIR)/JSON/* |
| $(Verb) if [ -d $(PROJ_SRC_DIR)/JSON ]; then\ |
| if ([ ! -f JSON/Makefile ] || \ |
| command test JSON/Makefile -ot $(PROJ_SRC_DIR)/JSON/Makefile ); then \ |
| $(MKDIR) JSON; \ |
| $(CP) $(PROJ_SRC_DIR)/JSON/Makefile JSON/Makefile; \ |
| fi; \ |
| ($(MAKE) -C JSON $@ ) || exit 1; \ |
| fi |