【发布时间】:2014-10-29 19:22:24
【问题描述】:
所以我有一个必须在不同机器(solaris 和 unix)上编译的 makefile,所以我们需要为我们的目标文件创建不同的目录以进行创建。我碰壁了,因为我不太明白创建特定目标文件的语法,用 -c 链接,因为 make 不允许我这样做。这是迄今为止我在尝试创建程序应放置 .o 文件的不同目录并引用它们以在同一目录中构建库的过程中的一个 sn-p。
OBJDIR = objdir
OBJ = $($(OBJDIR)/$(OSDEF))
$(OBJDIR):
mkdir $(OBJDIR) \
mkdir $(OBJDIR)/sun4sol \
mkdir $(OBJDIR)/Linux
其中 OSDEF 是 sun4sol 或 linux。
libListCreation: list_adders.o list_movers.o list_removers.o
ar -crvs libList.a $(OBJ)/list_adders.o $(OBJ)/list_movers.o $(OBJ)/list_removers.o \
mv libList.a $(OBJ)/
list_removers.o: list.h list_removers.c
$(CC) $(CCFLAGS) -c list.h list_removers.c -I. -o $(OBJ)/$@
list_movers.o: list.h list_movers.c
$(CC) $(CCFLAGS) -c list.h list_movers.c -I. -o $(OBJ)/$@
list_adders.o: list.h list_adders.c
$(CC) $(CCFLAGS) -c list.h list_adders.c -I. -o $(OBJ)/$@
【问题讨论】: