我在我的makefile以下规则:使多个类似的规则
pieces = King Queen Knight Rook Bishop Pawn
Chess: ChessMain.o ChessBoard.o
g++ -Wall -g ChessMain.o ChessBoard.o -o Chess
ChessMain: ChessBoard.hpp ChessMain.cpp
g++ -Wall -g -c ChessMain.cpp -o ChessMain.o
ChessBoard: ChessBoard.hpp ChessBoard.cpp
g++ -Wall -g -c ChessBoard.cpp -o ChessBoard.o
Piece: Piece.cpp Piece.hpp
g++ -c Piece.cpp -o Piece.o
King: King.cpp King.hpp Piece
g++ -c King.cpp -o King.o
Rook: Rook.cpp Rook.hpp Piece
g++ -c Rook.cpp -o Rook.o
...
和所有其他棋子(的Piece
子类)相似。我如何将这些特定的规则缩短为一条通用规则?我试过
$(pieces): $([email protected]:=.cpp) $([email protected]:=.hpp)
g++ -c $([email protected]:=.cpp) -o $([email protected]:=.o)
但它不起作用。
我在编辑的完整文件。
它不起作用 - 会发生什么?我假设你正确地缩进了g ++行... –