source: trunk/IPs/systemC/Environment/Makefile.Environnement @ 80

Last change on this file since 80 was 80, checked in by rosiere, 16 years ago

Oups, Environnement is french :P

File size: 2.2 KB
Line 
1include                         $(MORPHEO_TOPLEVEL)/Makefile.tools
2
3#-----[ Directory ]----------------------------------------
4DIR_TST                         = selftest
5DIR_INC                         = include
6DIR_SRC                         = src
7DIR_OBJ                         = obj
8DIR_BIN                         = bin
9
10#-----[ Compilation ]--------------------------------------
11INCDIR                          = $(SYSTEMC_INCDIR_$(SIMULATOR))        \
12                                  -I$(DIR_INC)
13
14LIBDIR                          =
15
16FLAGS                           = $(SYSTEMC_CFLAGS_$(SIMULATOR))        \
17                                  $(CXX_FLAGS)
18
19CFLAGS                          = $(MORPHEO_FLAGS) $(FLAGS) $(INCDIR)
20LFLAGS                          = $(MORPHEO_FLAGS) $(FLAGS) $(LIBDIR)
21
22#-----[ Variable ]-----------------------------------------
23
24ENTITY                          = `$(BASENAME) $$PWD`
25
26OBJECTS                         = $(patsubst $(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SRC)/*.cpp))
27OBJECTS_BIN                     = $(patsubst $(DIR_TST)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard $(DIR_TST)/*.cpp))
28
29HEADERS                         = $(wildcard $(DIR_INC)/*.h)
30
31EXE                             = $(DIR_BIN)/soft.x
32
33#-----[ Rules ]--------------------------------------------
34
35.PRECIOUS                       : $(DIR_OBJ)/%.o $(DIR_BIN)/%.x
36
37test_env                        :
38                                @$(ECHO) "-------------------[ $(ENTITY) ]"
39
40$(DIR_OBJ)/%.o                  : $(DIR_SRC)/%.cpp $(HEADERS)
41                                @\
42                                $(ECHO) "Compilation        : $*";\
43                                $(CXX) $(CFLAGS) -c -o $@ $<;
44
45$(DIR_OBJ)/%.o                  : $(DIR_TST)/%.cpp $(HEADERS)
46                                @\
47                                $(ECHO) "Compilation        : $*";\
48                                $(CXX) $(CFLAGS) -c -o $@ $<;
49
50$(DIR_BIN)/%.x                  : $(OBJECTS_DEPS) $(OBJECTS) $(OBJECTS_BIN)
51                                \
52                                $(ECHO) "Compilation        : $*";\
53                                $(CXX) $(LFLAGS)    -o $@ $^;
54
55$(DIR_OBJ)                      :
56                                @\
57                                $(ECHO) "Create directory   : $@";\
58                                $(MKDIR) $@
59
60$(DIR_BIN)                      :
61                                @\
62                                $(ECHO) "Create directory   : $@";\
63                                $(MKDIR) $@
64
65
66exe                             : all_environment
67                                @\
68                                $(VALGRIND) ./$(EXE)
69
70all_environment         : test_env $(DIR_OBJ) $(DIR_BIN)
71                                @\
72                                $(MAKE) $(EXE)
73
74environment_clean               :
75                                @\
76                                $(ECHO) "Delete     temporary files in directory "$(PWD);\
77                                $(RM)   *~              \
78                                        $(DIR_OBJ)      \
79                                        $(DIR_BIN)      \
80                                        $(DIR_TST)/*~   \
81                                        $(DIR_SRC)/*~   \
82                                        $(DIR_INC)/*~;
83
84environment_help                :
85                                @\
86                                $(ECHO) " -----[ Environment ]------------------------------";\
87                                $(ECHO) "";\
88                                $(ECHO) " * test_env             : test if environnment's variable is set";\
89                                $(ECHO) " * all_environment    : generate object";\
90                                $(ECHO) "";
Note: See TracBrowser for help on using the repository browser.