Makefile:根据月份编译c文件

问题描述 投票:0回答:1

我想编写一个Makefile,以使每个月包含不同C文件的应用程序的构建过程自动化。例如,在一月份运行该应用程序:

gcc -c January.c -o January.o

gcc strange_app.c January.o -o strange_app

此外,我希望仅当-o时才需要重新生成.o文件。

对应的.c文件已更改,并且random_app二进制文件

仅在.o文件或]中重新生成。

strange_app.c文件已更改。

到目前为止,这是我的代码:

BUILD_DIR = ~/solution

SRC_DIR = ~/shell2

SOURCES = $(shell find $(SRC_DIR)/ date +%B ".c")

TARGET  = strange_app

OBJECTS = $(SOURCES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%.o)

default: $(TARGET)

.SECONDEXPANSION:

$(OBJECTS) : $$(patsubst $(BUILD_DIR)/%.o,$(SRC_DIR)/%.c,$$@)

mkdir -p $(@D)

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

$(TARGET): $(OBJECTS)

$(CC) -o $@ $(CFLAGS) $^

.PHONY: default

我想编写一个Makefile,以使每个月包含不同C文件的应用程序的构建过程自动化。例如,在一月份运行该应用程序:gcc -c January.c -o January.o gcc ...

c shell makefile
1个回答
0
投票

我想编写一个Makefile来自动化应用程序的构建过程每个月包含一个不同的C文件。例如建立一月份运行的应用程序:

gcc -c January.c -o January.o

gcc strange_app.c January.o -o strange_app
© www.soinside.com 2019 - 2024. All rights reserved.