首页 > 代码库 > 省事之通用Makefile模版

省事之通用Makefile模版

现在编译方案都偏爱使用cmake解决问题,这两条做unity插件,还是用Makefile,居然忘得光光,好记性不如烂笔头。

后面,翻箱倒柜找到以前为炼金术写的Makefiel,发现还真是挺好用,贴出来,当万能Makefile模板挺好的。。

PROJECT_DIR = ..#PATH:=${ALCHEMY_HOME}/achacks:${PATH}CC = gccAR = arCFLAGS := -Wall -W -std=gnu99 -gLDFLAGS = INCLUDE_DIR = -I$(PROJECT_DIR)/luajit/srcLIBNAME = libz.aOBJS = $(patsubst ./%.c, %.o,$(wildcard ./*.c)) .PHONY: all clean.SUFFIXES: .c .o.c.o:	$(CC) $(CFLAGS) -c $< $(INCLUDE_DIR)	all: $(LIBNAME)$(LIBNAME):$(OBJS)	@$(AR) rcs $(LIBNAME) $(OBJS)	ranlib $(LIBNAME)clean:	@rm -rf $(LIBNAME) $(OBJS)
  • 修改LIBNAME为你想要库名
  • 在源码目录文件名为Makefile
  • 只实现make 和make clean
  • 如果c++的自己实现一下自动推导规则,看着也简单

另外,也改善一下对MinGW的印象,其实也挺好用的,不一定要用cmake生成vc解决方案,既然喜欢linux,为什么不能接受mingw呢?

省事之通用Makefile模版