繁体   English   中英

Makefile读取另一个目录

[英]makefile to read another directory

我有一个C ++项目。 在我的Project文件夹中,我有三个子项目文件夹。

Proj_Folder
   Sub_Proj1
       proj1.cpp
       makefile
   Sub_Proj2
      proj2.cpp
      makefile
   Sub_Proj3
      proj3.cpp
      makefile
ShareAll.cpp

我的所有子项目都使用ShareAll.o文件。 在Sub_Proj1中,我有一个生成文件。 该makefile需要查找位于其父目录中的ShareAll.o。 我尝试了以下代码。

OBJS =  ShareAll.o proj1.o

proj1: ShareAll.o proj1.o
    ${CXX} ${CFLAGS} -o proj1 ${OBJS}

proj1.o : proj1.cpp
    ${CXX} ${CFLAGS} proj1.cpp

ShareAll.o : ../ShareAll.cpp
    ${CXX} ${CFLAGS} ../ShareAll.cpp

此makefile在Sub_Proj1的文件夹中创建ShareAll.o。 但我不要这个。 我只需要从上级目录中引用即可。 它不应在sub_proj文件夹中创建新的“ .o”文件。

所以...只使用../ShareAll.o而不是ShareAll.o吗?

OBJS =  ../ShareAll.o proj1.o

proj1: ${OBJS}
        ${CXX} ${CFLAGS} -o $@ $+

proj1.o : proj1.cpp
        ${CXX} ${CFLAGS} -c $< -o $@

../ShareAll.o : ../ShareAll.cpp
        ${CXX} ${CFLAGS} -c $< -o $@

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM