我想编写一个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 ...
我想编写一个Makefile来自动化应用程序的构建过程每个月包含一个不同的C文件。例如建立一月份运行的应用程序:
gcc -c January.c -o January.o gcc strange_app.c January.o -o strange_app