0
的Makefile:錯誤運行使所有makefile中
all: my1 my2 my3 my4
s2: s1
tr "1" "2" <s1> s2
chmod u+x s2
s3: s1
tr "1" "4" <s1> s3
chmod u+x s3
prog.cpp : i1 i2 i3
cat i1 > prog.cpp
cat i1 >> prog.cpp
cat i3 >> prog.cpp
prog2.cpp: prog1.cpp
tr "1" "2" <prog1.cpp> prog2.cpp
prog3.cpp: prog1.cpp
tr "1" "3" <prog1.cpp> prog2.cpp
prog4.cpp: prog1.cpp
tr "1" "4" <prog1.cpp> temp
sed 's/READY/NOT READY/' temp > prog4.cpp
prog1.o: prog1.cpp
g++ -c prog1.cpp
prog2.o: prog2.cpp
g++ -c prog2.cpp
prog3.o: prog3.cpp
g++ -c prog3.cpp
prog4.o: prog4.cpp
g++ -c prog4.cpp
my1: prog.cpp
s1
my2: prog.cpp
s2
my3: prog.cpp prog1.o prog2.o prog3.o prog4.o
g++ -o prog prog.cpp -D_d3 prog1.o prog2.o prog3.o prog4.o
my4: prog.cpp
s3
clean:
,當我嘗試運行我讓所有的命令,它給人的錯誤。我已經參加了2個多小時的節目,並且無法弄清楚爲什麼!任何幫助/想法? i1 i2 i3是簡單的文本文件,s1是bash腳本。
錯誤消息說's1:未找到命令'。我在你的make文件中沒有看到任何創建's1'文件的東西。這應該是在你的項目目錄,或在你的路徑。或者你錯過了make文件中的一個步驟,它會創建一個's1'對象。 (多年以來,我用'make'做了很多,所以我已經忘記了一個基本的東西,而這整個評論都是錯誤的)。祝你好運。 – shellter
@shellter我目錄中的最後一個文件是s1(在prog1.cpp下面)。我只是假定當它需要時,make會在s1的目錄中查找。我應該在makefile中調用s1(如何?)? – Laura
對不起,我錯過了。 (我總是將我的dir列出w'ls -ltr'來查看底部最新創建的文件(這可能對你有幫助))。奇怪你得到那個錯誤消息。你的makefile中有沒有'cd' cmds?否則我就沒有想法。對不起,祝你好運。 – shellter