一个通用的makefile

# ESDK the makefile setting file - chenwg@20131014
# you can modify "PC = 1" such as "MIPS = 1" "ARM = 1" 
TOPDIR 	:= .
BINDIR 	:= $(TOPDIR)/bin
INCDIR 	:= $(TOPDIR)/inc
EXCLUDEDIRS := tools
SRCS	:= $(shell find $(TOPDIR) -name "*.c")
OBJS  	:= $(SRCS:%.c=%.o)
EXE	:= test

CLEAN_FILE :=  $(shell find $(TOPDIR) -name "*.o")
CLEAN_FILE +=  $(shell find $(TOPDIR) -name "*~")
CLEAN_FILE +=  $(EXE)

Q=@
E=echo
ifeq ($(V),1)
Q=
E=true
endif

LDFLAGS :=
LIBS	+= -pthread -lpthread
CFLAGS	+= -m32 -I$(INCDIR) -DCONFIG_OS_LINUX
CC		:= gcc

all: $(OBJS)
	$(Q)$(CC) $(LDFLAGS) -o $(EXE) $(OBJS) $(LIBS)
	@$(E) " LD " $(EXE)

%.o: %.c
	$(Q)$(CC) $(CFLAGS) -c -o $@  $<
	@$(E) " CC " $@

clean:
	$(Q)rm -rf $(CLEAN_FILE)
	@echo "rm *.o *~ $(EXE)"

posted on   sudochen  阅读(248)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示