拡張子付きのファイルがたくさんあります.cpp
f001.cpp
abc.cpp
...
これで任意のファイルをコンパイルしてみます
%.cpp:
g++ -o $* $*.cpp
しかし、私は得る
make: *** No hay objetivos. Alto.
拡張子付きのファイルがたくさんあります.cpp
f001.cpp
abc.cpp
...
これで任意のファイルをコンパイルしてみます
%.cpp:
g++ -o $* $*.cpp
しかし、私は得る
make: *** No hay objetivos. Alto.
これは機能しますか?
f001.o:
%.o: %.cpp
g++ -o $@ $<
編集:
良い!これを試してください:
OBJETIVOS = f001.o abc.o def.o ghi.o
todos: $(OBJETIVOS)
%.o: %.cpp
g++ -o $@ $<
ここで 1 つの問題があります。通常abc
は実行可能なバイナリ ファイルでabc.o
、オブジェクト ファイルです。実行可能ファイルを作成していますが、それらを呼び出していますabc.o
。それらを実行可能ファイルにしたい場合は、それらを呼び出す方がよいでしょうabc
。
@Betaの答えで、私は解決しました
files = $(basename $(shell ls *cpp))
all: $(files)
%: %.cpp
g++ -o $@ $<
clean:
rm $(files)