実現したいこと
作業ディレクトリにあるサブディレクトリ内のMakefile
を、作業ディレクトリ直下のMakefile
から呼び出したい
前提
Gitのsubmodule機能を使っているので、サブディレクトリのMakefile
を実行しなくてはならない状況です。以下はその再現になります。なお、サブディレクトリ内でmake
したときは問題なくビルドできます。
試したこと
実際のものとは異なりますが、簡略化して再現したものです。
ディレクトリ階層↓
作業ディレクトリ(.) |-Sub | |-sub.c | '-Makefile |-Makefile '-main.c
./Makefile
makefile
1include Sub/Makefile 2 3main.exe: main.o 4 cd Sub 5 make 6 cd .. 7 x86_64-w64-mingw32-gcc -shared -o $@ $^ Sub/sub.dll 8 9main.o: main.c 10 x86_64-w64-mingw32-gcc -c -o $@ $^
./main.c
c
1#include <stdio.h> 2 3int add(int x , int y); 4 5int main() 6{ 7 const int x = 4 , y = 5; 8 printf("%d + %d = %d" , x , y , add(x , y)); 9 10 return 0; 11}
./Sub/Makefile
makefile
1sub.dll: sub.o 2 x86_64-w64-mingw32-gcc -shared -o $@ $^ 3 4sub.o: sub.c 5 x86_64-w64-mingw32-gcc -c -o $@ $^
./Sub/sub.c
c
1int add(int x , int y) { return x + y; }
発生したエラー
上図の作業ディレクトリ
内でmake
するとmake: *** 'sub.o' に必要なターゲット 'sub.c' を make するルールがありません. 中止.
となります。
回答2件
あなたの回答
tips
プレビュー