注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
wuquan-1230的个人空间 https://home.eeworld.com.cn/space-uid-188537.html [收藏] [复制] [分享] [RSS]
日志

发个总结的通用Makefile

已有 937 次阅读2012-12-6 13:29 |个人分类:Linux|

这个makefile只需要修改编译器和目标名, 以及源文件、头文件、.o保存目录

就可以直接使用,以后再添加源文件或头文件,都不用再修改makefile!

共享如下:

/*************************************************************************************/

#通用makefile
#文件目录
DEBUG_DIR=./debug
SRC_DIR=./src
INC_DIR=./inc


#INC_DIR += common/include


SRC=$(wildcard $(SRC_DIR)/*.cpp )  #源文件
OBJS=$(patsubst $(SRC_DIR)/%.cpp,$(DEBUG_DIR)/%.o,$(SRC))


#目标文件名
TARGET=test
#安装目录
INSTALL_PATH ?= .


#编译器选择
ARCH ?= 
CC=$(ARCH)gcc
CPP=$(ARCH)g++
AR=$(ARCH)ar
AR=$(ARCH)ar




CFLAGS += -Wall 


#添加用到的静态库及库路径
LDFLAGS += -lpthread
#LDFLAGS += ./common/arm_lib/libxx.a 
#LIB_PATH += ./common/arm_lib/




CFLAGS  += $(foreach dir,$(INC_DIR),-I$(dir))
LDFLAGS += $(foreach lib,$(LIB_PATH),-L$(lib))




all:$(TARGET)
$(TARGET): $(OBJS)
$(CPP) $(OBJS) -o $@ $(CFLAGS) $(LDFLAGS)
#cp $(TARGET) $(INSTALL_PATH)




$(DEBUG_DIR)/%.o: $(SRC_DIR)/%.cpp
$(CPP) $(CFLAGS) -c $< -o $@ 
#@echo " "




clean:
-rm $(DEBUG_DIR)/*.o $(TARGET)

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章