PRmakefile文件

 Ubuntu下的makefile:

 1 # /********************************************************************************************
 2 # * File:        Makefile
 3 # * Author:        $LastChangedBy: matthew $
 4 # * Revision:    $Revision: 233 $
 5 # * Last Updated:    $LastChangedDate: 2006-11-10 15:03:28 -0500 (Fri, 10 Nov 2006) $
 6 # ********************************************************************************************/
 7 
 8 PR_TARGET=PoissonRecon
 9 ST_TARGET=SurfaceTrimmer
10 PR_SOURCE=CmdLineParser.cpp Factor.cpp Geometry.cpp MarchingCubes.cpp PlyFile.cpp Time.cpp PoissonRecon.cpp
11 ST_SOURCE=CmdLineParser.cpp Factor.cpp Geometry.cpp MarchingCubes.cpp PlyFile.cpp Time.cpp SurfaceTrimmer.cpp
12 
13 CFLAGS += -fpermissive -fopenmp -Wno-deprecated
14 LFLAGS += -lgomp
15 
16 CFLAGS_DEBUG = -DDEBUG -g3
17 LFLAGS_DEBUG =
18 
19 CFLAGS_RELEASE = -O3 -DRELEASE -funroll-loops -ffast-math
20 LFLAGS_RELEASE = -O3 
21 
22 SRC = Src/
23 #BIN = bin/Linux/
24 INCLUDE = /usr/include/
25 
26 CC=gcc
27 CXX=g++
28 
29 PR_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(PR_SOURCE))))
30 ST_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(ST_SOURCE))))
31 
32 all: CFLAGS += $(CFLAGS_DEBUG)
33 all: LFLAGS += $(LFLAGS_DEBUG)
34 all: $(BIN)$(PR_TARGET)
35 all: $(BIN)$(ST_TARGET)
36 
37 release: CFLAGS += $(CFLAGS_RELEASE)
38 release: LFLAGS += $(LFLAGS_RELEASE)
39 release: $(BIN)$(PR_TARGET)
40 release: $(BIN)$(ST_TARGET)
41 
42 clean:
43     rm -f $(BIN)$(PR_TARGET)
44     rm -f $(BIN)$(ST_TARGET)
45     rm -f $(PR_OBJECTS)
46 
47 $(BIN)$(PR_TARGET): $(PR_OBJECTS)
48     $(CXX) -o $@ $(PR_OBJECTS) $(LFLAGS)
49 
50 $(BIN)$(ST_TARGET): $(ST_OBJECTS)
51     $(CXX) -o $@ $(ST_OBJECTS) $(LFLAGS)
52 
53 $(BIN)%.o: $(SRC)%.c
54     $(CC) -c -o $@ $(CFLAGS) -I$(INCLUDE) $<
55 
56 $(BIN)%.o: $(SRC)%.cpp
57     $(CXX) -c -o $@ $(CFLAGS) -I$(INCLUDE) $<

 Windows下Cygwin下的makefile:

 1 # /********************************************************************************************
 2 # * File:        Makefile
 3 # * Author:        $LastChangedBy: matthew $
 4 # * Revision:    $Revision: 233 $
 5 # * Last Updated:    $LastChangedDate: 2006-11-10 15:03:28 -0500 (Fri, 10 Nov 2006) $
 6 # ********************************************************************************************/
 7 
 8 PR_TARGET=PoissonRecon
 9 ST_TARGET=SurfaceTrimmer
10 PR_SOURCE=CmdLineParser.cpp Factor.cpp Geometry.cpp MarchingCubes.cpp PlyFile.cpp Time.cpp PoissonRecon.cpp
11 ST_SOURCE=CmdLineParser.cpp Factor.cpp Geometry.cpp MarchingCubes.cpp PlyFile.cpp Time.cpp SurfaceTrimmer.cpp
12 
13 CFLAGS += -fpermissive -fopenmp -Wno-deprecated
14 LFLAGS += -lgomp
15 
16 CFLAGS_DEBUG = -DDEBUG -g3
17 LFLAGS_DEBUG =
18 
19 CFLAGS_RELEASE = -O3 -DRELEASE -funroll-loops -ffast-math
20 LFLAGS_RELEASE = -O3 
21 
22 SRC = Src/
23 #BIN = Bin/Linux/
24 INCLUDE = /usr/include/
25 
26 CC=gcc
27 CXX=g++
28 
29 PR_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(PR_SOURCE))))
30 ST_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(ST_SOURCE))))
31 
32 all: CFLAGS += $(CFLAGS_DEBUG)
33 all: LFLAGS += $(LFLAGS_DEBUG)
34 all: $(BIN)$(PR_TARGET)
35 all: $(BIN)$(ST_TARGET)
36 
37 release: CFLAGS += $(CFLAGS_RELEASE)
38 release: LFLAGS += $(LFLAGS_RELEASE)
39 release: $(BIN)$(PR_TARGET)
40 release: $(BIN)$(ST_TARGET)
41 
42 clean:
43     rm -f $(BIN)$(PR_TARGET)
44     rm -f $(BIN)$(ST_TARGET)
45     rm -f $(PR_OBJECTS)
46 
47 $(BIN)$(PR_TARGET): $(PR_OBJECTS)
48     $(CXX) -o $@ $(PR_OBJECTS) $(LFLAGS)
49 
50 $(BIN)$(ST_TARGET): $(ST_OBJECTS)
51     $(CXX) -o $@ $(ST_OBJECTS) $(LFLAGS)
52 
53 $(BIN)%.o: $(SRC)%.c
54     $(CC) -c -o $@ $(CFLAGS) -I$(INCLUDE) $<
55 
56 $(BIN)%.o: $(SRC)%.cpp
57     $(CXX) -c -o $@ $(CFLAGS) -I$(INCLUDE) $<

这两个文件一样。

posted @ 2015-03-25 15:15  青竹居士  阅读(228)  评论(0编辑  收藏  举报