source: trunk/IPs/systemC/Environment/Makefile.Environment@ 88

Last change on this file since 88 was 88, checked in by rosiere, 18 years ago

Almost complete design
with Test and test platform

  • Property svn:keywords set to Id
File size: 3.1 KB
Line 
1ifeq ($(origin MORPHEO_TOPLEVEL), undefined)
2 $(error "variable MORPHEO_TOPLEVEL is undefined");
3else
4 include $(MORPHEO_TOPLEVEL)/Makefile.tools
5 include $(MORPHEO_TOPLEVEL)/Makefile.flags
6endif
7
8#-----[ Directory ]----------------------------------------
9ENTITY ?= Environment
10
11DIR_TMP = $(MORPHEO_TMP)/$(ENTITY)
12DIR_TST = ./selftest
13DIR_INC = ./include
14DIR_SRC = ./src
15DIR_OBJ = ./obj
16DIR_BIN = $(DIR_TMP)/bin
17
18#-----[ Compilation ]--------------------------------------
19INCDIR = $(SYSTEMC_INCDIR_$(SIMULATOR)) \
20 -I$(DIR_INC) \
21 -I../processor/Morpheo
22
23LIBDIR = $(SYSTEMC_LIBDIR_$(SIMULATOR))
24
25LIBNAME = -lbfd \
26 -liberty \
27 $(SYSTEMC_LIBNAME_$(SIMULATOR))
28
29FLAGS = $(SYSTEMC_CFLAGS_$(SIMULATOR))
30
31MORPHEO_CC_FLAGS = $(MORPHEO_FLAGS) $(CC_FLAGS) $(INCDIR)
32MORPHEO_CXX_FLAGS = $(MORPHEO_FLAGS) $(CXX_FLAGS) $(FLAGS) $(INCDIR)
33MORPHEO_L_FLAGS = $(MORPHEO_FLAGS) $(CXX_FLAGS) $(FLAGS) $(LIBDIR)
34
35#-----[ Variable ]-----------------------------------------
36
37OBJECTS = $(patsubst $(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SRC)/*.cpp)) \
38 $(patsubst $(DIR_SRC)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SRC)/*.c))
39OBJECTS_BIN = $(patsubst $(DIR_TST)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard $(DIR_TST)/*.cpp))
40
41HEADERS = $(wildcard $(DIR_INC)/*.h)
42
43EXE = $(DIR_BIN)/soft.x
44
45EXEC_PREFIX =
46#$(VALGRIND)
47
48#-----[ Rules ]--------------------------------------------
49
50vpath %.h $(DIR_INC)
51vpath %.c $(DIR_SRC)
52vpath %.cpp $(DIR_SRC):$(DIR_TST)
53vpath %.o $(DIR_OBJ)
54
55.PRECIOUS : $(DIR_OBJ)/%.o $(DIR_BIN)/%.x
56
57test_env :
58 @\
59 $(ECHO) "-------------------| $(ENTITY)"
60
61$(DIR_OBJ)/%.o : %.cpp $(HEADERS)
62 @\
63 $(ECHO) "Compilation : $*";\
64 $(CXX) $(MORPHEO_CXX_FLAGS) -c -o $@ $<;
65
66$(DIR_OBJ)/%.o : %.c $(HEADERS)
67 @\
68 $(ECHO) "Compilation : $*";\
69 $(CC) $(MORPHEO_CC_FLAGS) -c -o $@ $<;
70
71$(DIR_BIN)/%.x : $(OBJECTS_DEPS) $(OBJECTS) $(OBJECTS_BIN)
72 \
73 $(ECHO) "Compilation : $*";\
74 $(CXX) $(MORPHEO_L_FLAGS) -o $@ $^ $(LIBNAME);
75
76$(DIR_OBJ) :
77 @\
78 $(ECHO) "Create directory : $@";\
79 $(MKDIR) $@
80
81$(DIR_BIN) :
82 @\
83 $(ECHO) "Create directory : $@";\
84 $(MKDIR) $@
85
86
87exe : all $(DIR_BIN)
88 @\
89 $(MAKE) $(EXE); \
90 export SYSTEMC=$(SYSTEMC_$(SIMULATOR)) ; $(EXEC_PREFIX) $(EXE) $(SYSTEMC_EXEC_PARAMS_$(SIMULATOR))
91
92
93all_environment : test_env $(DIR_OBJ)
94 @\
95 $(MAKE) $(OBJECTS_DEPS) $(OBJECTS) $(OBJECTS_BIN)
96
97environment_clean :
98 @\
99 $(ECHO) "Delete temporary files in directory "$(PWD);\
100 $(RM) *~ \
101 $(DIR_OBJ) \
102 $(DIR_BIN) \
103 $(DIR_TST)/*~ \
104 $(DIR_SRC)/*~ \
105 $(DIR_INC)/*~ \
106 *.dot \
107 *.txt;
108
109environment_help :
110 @\
111 $(ECHO) " -----[ Environment ]------------------------------";\
112 $(ECHO) "";\
113 $(ECHO) " * exe : execute testbench";\
114 $(ECHO) " * test_env : test if environnment's variable is set";\
115 $(ECHO) " * all_environment : generate object";\
116 $(ECHO) "";
Note: See TracBrowser for help on using the repository browser.