多目录的Makefile编写
单个文件的Makefile我还能够写个简单的。但是如下的Makefile怎么写呢?我网上找的都达不到我的要求。
我的例子是如下图:
Game 我有一个文件夹,里面只有两个文件夹(private和share)。没有其他文件了
-parivate
-main.cpp
-echo.h
-echo.cpp
-Makefile
-share
-print.h
-print.cpp
-output.h
-output.cpp
这样一个目录层次:我想要达到的要求是,share是一个共享文件夹。里面包含公用函数。 private是一个私有文件夹里面就是具体的单独实现。 Game下没有Makefile,我只想在private下生成可执行文件。 main.cpp调用了print.h和output.h和echo.h的函数。(假设每个.h里面只有一个打印函数)。 我也可以在Game下再新建一个私有文件夹 file1。 里面也需要调用share里面的函数。 但是我只要在file1下面再写一个Makefile就行了 那应该怎样做呢?Makefile 啊。。。。 求救
[解决办法]
这个好像不难。
#结果是main 如果有其他依赖项自己添加 比如-I等CXXFLAG
main:main.o echo.o print.o output.o
g++ -o $@ $^
%.o:%.cpp
g++ -c -o $@ $^
%.o:../share/%.cpp
g++ -c -o $@ $^