C-整个文件夹的Makefile

时间:2013-04-30 13:39:42

标签: c makefile

我一直在为我的c ++项目使用makefile。但是我尝试将其转换为C并尝试使用gcc进行编译并收到此类错误:make: *** No rule to make target * .o',microc'. Stop.需要

这是我的makefile:

CC=gcc
CFLAGS=-c -std=gnu99 -Wall -pedantic
LDFLAGS=
SOURCES=*.c
OBJECTS=$(SOURCES:.c=.o)
EXECUTABLE=microc

all: $(SOURCES) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS) 
    $(CC) $(LDFLAGS) $(OBJECTS) -o $@

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

clean:
    rm -rf *o microc

1 个答案:

答案 0 :(得分:2)

您无法使用SOURCES=*.c。这只是将变量设置为字符串*.c,因此OBJECTS是字符串*.o。你想要(假设你正在使用GNU make):

SOURCES := $(wildcard *.c)