⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 常用的数学统计算法
💻
字号:
###ROOT_DIR = `pwd`#### ToolsCC = gcc -g -m64CCC = g++ -g -m64SHLD = gcc -g -m64LD = g++ -g -m64# GSL (GNU Scientific Library)GSL_ROOTDIR=/projects/ngi/local/Linux/gsl-1.7GSL_LIB_PATH = $(GSL_ROOTDIR)/libGSL_LIB_PATH_FLAGS = $(GSL_LIB_PATH:%=-L%)GSL_LIB_PATH_FLAGS += $(GSL_LIB_PATH:%=-Wl,--rpath=%)#### Compilation optionsOBJ_PATH = $(ROOT_DIR)/objINCLUDES = -I$(GSL_ROOTDIR)/include -I.RELOC = -fpicCC_FLAGS = $(INCLUDES) $(RELOC)#### Dynamic Library optionsLIB_SUFFIX = .soSHD_LIB_FLAGS = -sharedSHD_LIBS = $(GSL_LIB_PATH_FLAGS) -lgsl -lgslcblas -lm#### Executable optionsBIN_PATH = $(ROOT_DIR)/binLD_FLAGS =# Library pathLIB_PATH = $(ROOT_DIR)/libLIB_PATH_FLAGS = $(LIB_PATH:%=-L%)LIB_PATH_FLAGS += $(LIB_PATH:%=-Wl,--rpath=%)LIB_FULL_NAME = $(LIB_PATH)/$(HEL_LIB)#### Dynamic library buildingMAIN = statsHEL_SRC = gsl_statext.cHEL_OBJ = $(HEL_SRC:%.c=$(OBJ_PATH)/%.o)# Library nameHEL_LIB_SHORT = $(MAIN)HEL_LIB = lib$(HEL_LIB_SHORT)$(LIB_SUFFIX)SHD_LIB_FLAGS += -Wl,-soname,$(HEL_LIB)#### Main programMAIN_SRC = $(MAIN).cppMAIN_OBJ = $(MAIN_SRC:%.cpp=$(OBJ_PATH)/%.o)LD_FLAGS += $(LIB_PATH_FLAGS) -l$(HEL_LIB_SHORT)FULL_BIN_NAME = $(BIN_PATH)/$(MAIN)#### Tar-ballTAR_BALL = $(MAIN).tgz#### Targetsfirst: $(FULL_BIN_NAME)#### Compilation Rule$(OBJ_PATH)/%.o: %.c	@if [ ! -d $(OBJ_PATH) ]; then mkdir -p $(OBJ_PATH); fi	@echo "Compiling $<..." && $(CC) $(CC_FLAGS) -o $@ -c $<$(OBJ_PATH)/%.o: %.cpp	@if [ ! -d $(OBJ_PATH) ]; then mkdir -p $(OBJ_PATH); fi	@echo "Compiling $<..." && $(CCC) $(CC_FLAGS) -o $@ -c $<# Makefile debug targetprint_%_value:	@echo $($*)#### Dynamic Library Link$(LIB_FULL_NAME): $(HEL_OBJ)	@if [ ! -d $(LIB_PATH) ]; then mkdir -p $(LIB_PATH); fi	@echo "Linking $@..." && $(SHLD) $(SHD_LIB_FLAGS) -o $@ $< $(SHD_LIBS)#### Executable Link$(FULL_BIN_NAME): $(LIB_FULL_NAME) $(MAIN_OBJ)	@if [ ! -d $(BIN_PATH) ]; then mkdir -p $(BIN_PATH); fi	@echo "Linking $@" && $(LD) $(LD_FLAGS) -o $@ $(MAIN_OBJ) && echo "Type bin/$(MAIN) to start playing"#### Cleaning the object, library and executable files and directoriesclean:	@rm -f *~ $(TAR_BALL)	@rm -rf $(OBJ_PATH) $(LIB_PATH) $(BIN_PATH)tar: clean	@tar zcf $(TAR_BALL) Makefile *.h *.c $(MAIN_SRC)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -