Object Makefile:如何指定在何处生成对象
我想为我在makefile中生成的对象指定一个存储库 我搜索了一段时间,但只找到了详细的解决方案,一个对象列表,而我只想针对一个对象 (makefile对我来说是新的,所以越简单越好) 这是我的密码:Object Makefile:如何指定在何处生成对象,object,makefile,repository,directory,Object,Makefile,Repository,Directory,我想为我在makefile中生成的对象指定一个存储库 我搜索了一段时间,但只找到了详细的解决方案,一个对象列表,而我只想针对一个对象 (makefile对我来说是新的,所以越简单越好) 这是我的密码: /////////////////////////////////// *definition of several directories* *definition of CC, CFLAGS, CInclude* cutgen: $(CC) $(CFlags) -D__LINUX_
///////////////////////////////////
*definition of several directories*
*definition of CC, CFLAGS, CInclude*
cutgen:
$(CC) $(CFlags) -D__LINUX__ $(CDir)cutgen.c -o cutgen
check: cutgen cutcheck.c *list of objects here*
$(CC) $(CFlags) -I $(CHeaderDir) cutcheck.c *list of objects here* -o cutcheck
./cutcheck
cutcheck.c: cutgen test.o
./cutgen $(CDir)test.c -o cutcheck.c
test.o: util.o
$(CC) $(CFlags) -c $(CInclude) $(CDir)test.c
util.o: config.o
$(CC) $(CFlags) -c $(CInclude) $(GenDir)util.c
...
...
stubs.o:
$(CC) $(CFlags) $(CInclude) -c $(StubsDir)stubs.c
clean:
rm -f *.o *~ cutcheck* cutgen
all: check
///////////////////////////////////
例如,在这里,我想在Objects文件夹中生成util.o。
任何帮助都将不胜感激,提前谢谢
$(Objects)/util.o: config.o
$(CC) $(CFlags) -c $(CInclude) $(GenDir)util.c -o $@
(你确定这个先决条件吗?我认为
$(GenDir)util.c
可能比config.o
好)非常感谢你的回答!事实上,关于先决条件,你是对的。但是,当我应用您的更改时:-如果我以前为“对象”指定了一个路径,我会得到一个“***目标模式不包含“%”。停止。”-如果我用$(对象)/util.o替换util.o的每一次出现,那么就不会生成util.o。@JohnBob:我无法重现您的错误。你能发布一个,最短的makefile,它应该可以生成目标文件,但是失败了吗?你好,我为我的回复太晚而道歉。我开始创建一个最小的完整示例,但后来得到了一个适合我需要的替代解决方案,所以我的问题得到了解决。这里的解决方案是:mvutil.o./Objects/bash命令将我的文件移动到指定的目录。非常感谢您的帮助@Beta!