【发布时间】:2010-11-21 07:08:19
【问题描述】:
全部。假设我有一个包含一长串 C 源文件 Ac、Bc、....、Zc 的程序,现在我想用某些 CFLAGS 编译 Ac、Bc,并用不同的编译源文件的其余部分CFLAGS 值。
如何编写 Makefile 来完成上述工作?目前我在 Makefile 中所做的是:
OBJ=[all other .o files here, e.g. D.o, D.o, E.o .... Z.o]
SPECIAL_OBJS=A.o B.o
all: $(OBJ) $(SPECIAL_OBJS)
$(SPECIAL_OBJS):
@echo [Compiling]: $(@:.o=.c)
$(CC) [SOME OTHER GCC OPTIONS HERE] $(CFLAGS) -c $(@:.o=.c) -o $@
%.o: %.c
@echo [Compiling]: $<
$(CC) $(CFLAGS) -o $@ -c $<
它有效,但看起来很愚蠢/复杂。任何人都可以帮助指出在 Makefile 中推荐的方法是什么?谢谢!
【问题讨论】:
-
这是 Posix Make 还是 GNU Make?
标签: makefile