省事之通用Makefile模版


現在編譯方案都偏愛使用cmake解決問題,這兩條做unity插件,還是用Makefile,居然忘得光光,好記性不如爛筆頭。

后面,翻箱倒櫃找到以前為煉金術寫的Makefiel,發現還真是挺好用,貼出來,當萬能Makefile模板挺好的。。

PROJECT_DIR = ..
#PATH:=${ALCHEMY_HOME}/achacks:${PATH}
CC = gcc
AR = ar
CFLAGS := -Wall -W -std=gnu99 -g
LDFLAGS = 
INCLUDE_DIR = -I$(PROJECT_DIR)/luajit/src
LIBNAME = libz.a

OBJS = $(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呢?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM