Makefile:如何指定在何处生成对象

时间:2018-08-17 13:12:47

标签: object makefile repository directory

我想为我在makefile中生成的对象指定一个存储库。

我搜索了一段时间,但只找到了精心设计的解决方案,以获取对象列表,而我只想定位一个对象。

(makefile对我来说是新的,所以越简单越好)

这是我的代码:

///////////////////////////////////
*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。 任何帮助将不胜感激,在此先感谢您!

1 个答案:

答案 0 :(得分:0)

$(Objects)/util.o:  config.o 
    $(CC) $(CFlags) -c $(CInclude) $(GenDir)util.c -o $@

(您确定先决条件吗?我认为$(GenDir)util.c可能比config.o更好。)