Line | |
---|
1 | # |
---|
2 | # $Id$ |
---|
3 | # |
---|
4 | # [ Description ] |
---|
5 | # |
---|
6 | # Makefile |
---|
7 | # |
---|
8 | |
---|
9 | #-----[ Directory ]---------------------------------------- |
---|
10 | DIR_SRC = src |
---|
11 | DIR_OBJ = obj |
---|
12 | DIR_BIN = bin |
---|
13 | DIR_DATA = data |
---|
14 | |
---|
15 | #-----[ Commands ]----------------------------------------- |
---|
16 | ECHO = echo |
---|
17 | MKDIR = mkdir |
---|
18 | RM = rm -fr |
---|
19 | PWD = `pwd` |
---|
20 | |
---|
21 | CXX = g++ |
---|
22 | CXX_OPT = -O3 -g3 -Wall -ansi $(INCLUDE) |
---|
23 | |
---|
24 | INCLUDE = -I. -I.. -I../include -I../../Include |
---|
25 | |
---|
26 | OBJECTS = $(patsubst ../$(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard ../$(DIR_SRC)/*.cpp)) \ |
---|
27 | $(patsubst $(DIR_SRC)/%.cpp,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SRC)/*.cpp)) |
---|
28 | |
---|
29 | EXE = soft |
---|
30 | |
---|
31 | #-----[ Rules ]-------------------------------------------- |
---|
32 | .PRECIOUS : $(DIR_BIN)/%.x $(DIR_OBJ)/%.o |
---|
33 | |
---|
34 | all : $(DIR_OBJ) $(DIR_BIN) $(DIR_BIN)/$(EXE).x |
---|
35 | |
---|
36 | test : all |
---|
37 | ./$(DIR_BIN)/$(EXE).x |
---|
38 | |
---|
39 | $(DIR_BIN)/%.x : $(OBJECTS) |
---|
40 | @$(ECHO) "Compilation : $*" |
---|
41 | @$(CXX) $(CXX_OPT) -o $@ $^ |
---|
42 | |
---|
43 | $(DIR_OBJ)/%.o : $(DIR_SRC)/%.cpp |
---|
44 | @$(ECHO) "Compilation : $*" |
---|
45 | @$(CXX) $(CXX_OPT) -c -o $@ $< |
---|
46 | |
---|
47 | $(DIR_OBJ)/%.o : ../$(DIR_SRC)/%.cpp |
---|
48 | @$(ECHO) "Compilation : $*" |
---|
49 | @$(CXX) $(CXX_OPT) -c -o $@ $< |
---|
50 | |
---|
51 | $(DIR_OBJ) : |
---|
52 | @$(ECHO) "Create directory : $@" |
---|
53 | @$(MKDIR) $@ |
---|
54 | |
---|
55 | $(DIR_BIN) : |
---|
56 | @$(ECHO) "Create directory : $@" |
---|
57 | @$(MKDIR) $@ |
---|
58 | |
---|
59 | clean : |
---|
60 | @$(ECHO) "Delete temporary files in directory "$(PWD) |
---|
61 | @$(RM) $(DIR_OBJ) $(DIR_BIN) *~ $(DIR_SRC)/*~ |
---|
62 | |
---|
Note: See
TracBrowser
for help on using the repository browser.