# # $Id: Makefile.Common 117 2009-05-16 14:42:39Z rosiere $ # # [ Description ] # # Makefile # ifeq ($(origin MORPHEO_TOPLEVEL), undefined) $(error "variable MORPHEO_TOPLEVEL is undefined"); else include $(MORPHEO_TOPLEVEL)/Makefile.tools endif ifeq ($(origin MORPHEO_TMP), undefined) $(error "variable MORPHEO_TMP is undefined"); endif ifeq ($(origin MORPHEO_SCRIPT), undefined) $(error "variable MORPHEO_SCRIPT is undefined"); endif ifeq ($(origin DIR_MORPHEO), undefined) $(error "variable DIR_MORPHEO is undefined"); endif #-----[ Directory ]---------------------------------------- DIR_TMP = $(MORPHEO_TMP) DIR_INC = include DIR_SRC = src DIR_OBJ = $(DIR_TMP)/obj DIR_LIB = $(DIR_TMP)/lib DIR_SCRIPT = $(MORPHEO_SCRIPT) #-----[ Compilation ]-------------------------------------- INCDIR = $(SYSTEMC_INCDIR_$(SIMULATOR_SYSTEMC)) \ -I. \ -I$(DIR_MORPHEO) LIBDIR = -L$(DIR_LIB) \ $(SYSTEMC_LIBDIR_$(SIMULATOR_SYSTEMC)) # $(OR1K_LIBDIR) FLAGS_COMMON = $(SYSTEMC_CFLAGS_$(SIMULATOR_SYSTEMC)) \ $(CXX_FLAGS) CFLAGS = $(MORPHEO_FLAGS) $(FLAGS_COMMON) $(INCDIR) LFLAGS = $(MORPHEO_FLAGS) $(FLAGS_COMMON) $(LIBDIR) #-----[ Variable ]----------------------------------------- #OBJECTS_COMMON = $(patsubst $(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SRC)/*.cpp)) SOURCES = $(wildcard $(DIR_SRC)/*.cpp) OBJECTS_COMMON = $(addprefix $(DIR_OBJ)/$(ENTITY)_, $(addsuffix .o, $(basename $(notdir $(SOURCES))))) HEADERS = $(wildcard $(DIR_INC)/*.h) #-----[ Rules ]-------------------------------------------- .PRECIOUS : $(DIR_OBJ)/$(ENTITY)_%.o test_env : @$(ECHO) "-------------------| $(ENTITY)" $(DIR_OBJ)/$(ENTITY)_%.o : $(DIR_SRC)/%.cpp $(HEADERS) @\ $(ECHO) "Compilation : $*";\ $(SYSTEMC_CXX_$(SIMULATOR_SYSTEMC)) $(CFLAGS) -c -o $@ $<; $(DIR_OBJ) : @\ $(ECHO) "Create directory : $@";\ $(MKDIR) $@ common_clean : @\ $(ECHO) "Delete temporary files in directory $(PWD)";\ $(RM) $(OBJECTS_COMMON) \ *~ \ $(DIR_SRC)/*~ \ $(DIR_INC)/*~; common_clean_all : common_clean @\ $(RM) $(DIR_OBJ) common_help : @\ $(ECHO) " -----[ Common ]-------------------------------------";\ $(ECHO) "";\ $(ECHO) " * test_env : test if environnment's variable is set";\ $(ECHO) "";