主体代码
如果按照 SRC 的方式进行组织编译,那么在主 Makefile中后续的组织形式如下:
(快速使用版本)
CC = gcc
CFLAGS += -DCFG_ABC=1
CFLAGS += -I./
SRCS += ./1.c \
./2.c
# 如果拆分到子目录的mk中
TMP_MK=./submodule1/cfg.mk
include $(TMP_MK)
OBJS = $(SRCS:.c=.o)
TARGET = a.out
.PHONY: all clean # 伪目标 避免目录下有该文件,检查文件时间戳跳过
all: clean $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) -o $@ $^
mkdir -p releasedir
cp $@ releasedir
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -rf $(OBJS) $(TARGET) *.o a.out
Makefile中几个常用的自动变量说明: