################################################################################################################
#
# 通用Makefile模板
# 自动将src目录下中的.c文件编译,生成所有.o文件保存在bin/objs下
# 修改TARGETS和CC以及CFLAGS和LDFLAG即可完成工程的配置
# by jieen 2013-4-27
#
#################################################################################################################
PROJECT_TOP_DIR=$(shell cd ../; pwd)
PROJECT_BIN_DIR=$(PROJECT_TOP_DIR)/bin
PROJECT_SRC_DIR=$(PROJECT_TOP_DIR)/src
PROJECT_INC_DIR=$(PROJECT_TOP_DIR)/inc
PROJECT_LIB_DIR=$(PROJECT_TOP_DIR)/lib
PROJECT_OBJ_DIR=$(PROJECT_BIN_DIR)/objs
MKDIR := mkdir -p
CC := gcc
TARGETS = opxl
CFLAGS := -g -I$(PROJECT_INC_DIR)
LDFLAG := -L$(PROJECT_LIB_DIR)
src :=$(wildcard $(PROJECT_SRC_DIR)/*.c)
dir := $(notdir $(src))
PROJECT_OBJ := $(patsubst %.c,%.o,$(dir) )
PROJECT_ALL_OBJS := $(addprefix $(PROJECT_OBJ_DIR)/, $(PROJECT_OBJ))
all:$(PROJECT_SRC_DIR) $(PROJECT_ALL_OBJS)
$(CC) $(CFLAGS) $(PROJECT_ALL_OBJS) -o $(PROJECT_BIN_DIR)/$(TARGETS) $(LDFLAG)
$(PROJECT_OBJ_DIR)/%.o : $(PROJECT_SRC_DIR)/%.c
$(MKDIR) $(PROJECT_OBJ_DIR)
$(CC) -c $(CFLAGS) $< -o $@
clean:
rm -fr $(PROJECT_OBJ_DIR)
rm -fr $(TARGETS)
通用Makefile模板
最新推荐文章于 2025-01-11 20:30:00 发布