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) $<
这两个文件一样。