如何制作一个makefile?

时间:2017-09-12 08:26:49

标签: c makefile flags

我正在尝试为项目生成一个简单的makefile,但是遇到了麻烦,因为我仍然习惯了它们。

我有一个文件夹,其中包含3个单独的文件,标题文件LinkedListAPI.hLinkedListAPI.cStructListDemo.c

必须使用标志:

-Wall -std=c11 

1 个答案:

答案 0 :(得分:1)

这个看起来不错,但请记住用Tabs替换所有缩进:

.PHONY: all clean
CFLAGS:=$(CFLAGS) -std=c11 -Wall
OBJ=./src
INCLUDE=./include
objStringListDemo=$(OBJ)/LinkedListAPI.o $(OBJ)/StringListDemo.o
objStructListDemo=$(OBJ)/LinkedListAPI.o $(OBJ)/StructListDemo.o

all: StringListDemo StructListDemo

StringListDemo: $(objStringListDemo) $(INCLUDE)/LinkedListAPI.h
    ${CC} -o $< $@

StructListDemo: $(objStructListDemo) $(INCLUDE)/LinkedListAPI.h
    ${CC} -o $< $@

%.o: %.c
    ${CC} $(CFLAGS) $< -o $@

clean:
    rm -rf $(objStringListDemo) $(objStructListDemo) StringListDemo StructListDemo