简单通用的Makefile编写例子

Makefile的语法很多,编写起来也比较麻烦,日常工作中我们可能需要编写一些简单的测试程序,每次编写Makefile文件比较麻烦,本着拿来主义的原则,编写了一个通用的Makefile示例,供大家交流使用,支持路径的修改,支持改动增量编译。
例子中具体每行的含义,大家可以百度查一下,或者参考《跟我一起写 Makefile》看一下,本文仅仅是分享成品,不做详细阐述。

CC = gcc
CFLAGS = -g -Wall -std=c99
CLIBS = -lpthread

SRC_PATH = src
OBJ_PATH = obj
BIN_PATH = bin

TARGET = ${BIN_PATH}/test.bin

INCLUDE = $(wildcard $(SRC_PATH)/*.h)
SOURCES = $(wildcard $(SRC_PATH)/*.c)

OBJECTS = $(patsubst $(SRC_PATH)/%.c,$(OBJ_PATH)/%.o, $(SOURCES))
DEPENDS = $(patsubst $(SRC_PATH)%.c,$(OBJ_PATH)/%.d, $(SOURCES))

sinclude $(DEPENDS)

$(TARGET) : $(OBJECTS)
	$(CC) $(CFLAGS) $^ -o $@ $(CLIBS)

$(OBJ_PATH)/%.o : $(SRC_PATH)/%.c
	$(CC) $(CFLAGS) -c $< -o $@ -MMD -MF $(OBJ_PATH)/$*.d -MP
	@echo

all : $(TARGET)

.PHONY : clean
clean:
	rm -rf $(OBJ_PATH)/*.d $(OBJ_PATH)/*.o $(TARGET)

本示例的代码目录如下,大家也可以通过修改Makefile文件里的变量进行修改。

.
├── bin
├── Makefile
├── obj
└── src
    ├── main.c
    ├── main.o

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值