PRmakefile文件

时间:2023-03-09 09:26:35
PRmakefile文件

Ubuntu下的makefile:

 # /********************************************************************************************
# * File: Makefile
# * Author: $LastChangedBy: matthew $
# * Revision: $Revision: 233 $
# * Last Updated: $LastChangedDate: 2006-11-10 15:03:28 -0500 (Fri, 10 Nov 2006) $
# ********************************************************************************************/ PR_TARGET=PoissonRecon
ST_TARGET=SurfaceTrimmer
PR_SOURCE=CmdLineParser.cpp Factor.cpp Geometry.cpp MarchingCubes.cpp PlyFile.cpp Time.cpp PoissonRecon.cpp
ST_SOURCE=CmdLineParser.cpp Factor.cpp Geometry.cpp MarchingCubes.cpp PlyFile.cpp Time.cpp SurfaceTrimmer.cpp CFLAGS += -fpermissive -fopenmp -Wno-deprecated
LFLAGS += -lgomp CFLAGS_DEBUG = -DDEBUG -g3
LFLAGS_DEBUG = CFLAGS_RELEASE = -O3 -DRELEASE -funroll-loops -ffast-math
LFLAGS_RELEASE = -O3 SRC = Src/
#BIN = bin/Linux/
INCLUDE = /usr/include/ CC=gcc
CXX=g++ PR_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(PR_SOURCE))))
ST_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(ST_SOURCE)))) all: CFLAGS += $(CFLAGS_DEBUG)
all: LFLAGS += $(LFLAGS_DEBUG)
all: $(BIN)$(PR_TARGET)
all: $(BIN)$(ST_TARGET) release: CFLAGS += $(CFLAGS_RELEASE)
release: LFLAGS += $(LFLAGS_RELEASE)
release: $(BIN)$(PR_TARGET)
release: $(BIN)$(ST_TARGET) clean:
rm -f $(BIN)$(PR_TARGET)
rm -f $(BIN)$(ST_TARGET)
rm -f $(PR_OBJECTS) $(BIN)$(PR_TARGET): $(PR_OBJECTS)
$(CXX) -o $@ $(PR_OBJECTS) $(LFLAGS) $(BIN)$(ST_TARGET): $(ST_OBJECTS)
$(CXX) -o $@ $(ST_OBJECTS) $(LFLAGS) $(BIN)%.o: $(SRC)%.c
$(CC) -c -o $@ $(CFLAGS) -I$(INCLUDE) $< $(BIN)%.o: $(SRC)%.cpp
$(CXX) -c -o $@ $(CFLAGS) -I$(INCLUDE) $<

Windows下Cygwin下的makefile:

 # /********************************************************************************************
# * File: Makefile
# * Author: $LastChangedBy: matthew $
# * Revision: $Revision: 233 $
# * Last Updated: $LastChangedDate: 2006-11-10 15:03:28 -0500 (Fri, 10 Nov 2006) $
# ********************************************************************************************/ PR_TARGET=PoissonRecon
ST_TARGET=SurfaceTrimmer
PR_SOURCE=CmdLineParser.cpp Factor.cpp Geometry.cpp MarchingCubes.cpp PlyFile.cpp Time.cpp PoissonRecon.cpp
ST_SOURCE=CmdLineParser.cpp Factor.cpp Geometry.cpp MarchingCubes.cpp PlyFile.cpp Time.cpp SurfaceTrimmer.cpp CFLAGS += -fpermissive -fopenmp -Wno-deprecated
LFLAGS += -lgomp CFLAGS_DEBUG = -DDEBUG -g3
LFLAGS_DEBUG = CFLAGS_RELEASE = -O3 -DRELEASE -funroll-loops -ffast-math
LFLAGS_RELEASE = -O3 SRC = Src/
#BIN = Bin/Linux/
INCLUDE = /usr/include/ CC=gcc
CXX=g++ PR_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(PR_SOURCE))))
ST_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(ST_SOURCE)))) all: CFLAGS += $(CFLAGS_DEBUG)
all: LFLAGS += $(LFLAGS_DEBUG)
all: $(BIN)$(PR_TARGET)
all: $(BIN)$(ST_TARGET) release: CFLAGS += $(CFLAGS_RELEASE)
release: LFLAGS += $(LFLAGS_RELEASE)
release: $(BIN)$(PR_TARGET)
release: $(BIN)$(ST_TARGET) clean:
rm -f $(BIN)$(PR_TARGET)
rm -f $(BIN)$(ST_TARGET)
rm -f $(PR_OBJECTS) $(BIN)$(PR_TARGET): $(PR_OBJECTS)
$(CXX) -o $@ $(PR_OBJECTS) $(LFLAGS) $(BIN)$(ST_TARGET): $(ST_OBJECTS)
$(CXX) -o $@ $(ST_OBJECTS) $(LFLAGS) $(BIN)%.o: $(SRC)%.c
$(CC) -c -o $@ $(CFLAGS) -I$(INCLUDE) $< $(BIN)%.o: $(SRC)%.cpp
$(CXX) -c -o $@ $(CFLAGS) -I$(INCLUDE) $<

这两个文件一样。