作者:飘雪2502923303 | 来源:互联网 | 2023-07-10 08:08
Ubuntu下的makefile:1#***********************************************************************
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) $<
这两个文件一样。