# # $Id$ # # [ Description ] # # Makefile # include $(MORPHEO_TOPLEVEL)/Makefile.tools #-----[ Directory ]---------------------------------------- DIR_INC = include DIR_SRC = src DIR_OBJ = obj DIR_SCRIPT = $(MORPHEO_SCRIPT) #-----[ Compilation ]-------------------------------------- INCDIR = $(SYSTEMC_INCDIR_$(SIMULATOR)) \ -I$(DIR_MORPHEO) LIBDIR = $(DIR_LIBRARY) \ $(SYSTEMC_LIBDIR_$(SIMULATOR)) # $(SOCLIB_LIBDIR) \ # $(OR1K_LIBDIR) LIBS = $(LIBRARY) -lm $(SYSTEMC_LIBNAME_$(SIMULATOR)) -ldl # $(SOCLIB_LIBNAME) $(OR1K_LIBNAME) -lbfd FLAGS_COMMON = $(SYSTEMC_CFLAGS_$(SIMULATOR)) \ -O3 \ -g3 \ -Wall \ -Wunused # -Wno-deprecated \ # -Wno-non-template-friend \ # -Wno-pmf-conversions \ # -Wfatal-errors \ # -pedantic \ # -Werror \ CFLAGS = $(MORPHEO_FLAGS) $(FLAGS_COMMON) $(INCDIR) LFLAGS = $(MORPHEO_FLAGS) $(FLAGS_COMMON) $(LIBDIR) #-----[ Variable ]----------------------------------------- ENTITY = `$(BASENAME) $$PWD` OBJECTS_COMMON = $(patsubst $(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SRC)/*.cpp)) HEADERS = $(wildcard $(DIR_INC)/*.h) #-----[ Rules ]-------------------------------------------- .PRECIOUS : $(DIR_OBJ)/%.o test_env : @$(ECHO) "-------------------[ $(ENTITY) ]" ifeq ($(origin MORPHEO_TOPLEVEL), undefined) $(error "variable MORPHEO_TOPLEVEL 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 $(DIR_OBJ)/%.o : $(DIR_SRC)/%.cpp $(HEADERS) @\ $(ECHO) "Compilation : $*";\ $(CXX) $(CFLAGS) -c -o $@ $<; $(DIR_OBJ) : @\ $(ECHO) "Create directory : $@";\ $(MKDIR) $@ common_clean : @\ $(ECHO) "Delete temporary files in directory "$(PWD);\ $(RM) $(DIR_OBJ) \ $(DIR_BIN) \ *~ \ $(DIR_SRC)/*~ \ $(DIR_INC)/*~; common_help : @\ $(ECHO) " -----[ Common ]-------------------------------------";\ $(ECHO) "";\ $(ECHO) " * test_env : test if environnment's variable is set";\ $(ECHO) "";