2010-05-07 28 views
1

我在make文件下面的宏:生成文件:如何調用宏在宏


PDF: //做點什麼

清潔: //只是一個花哨的東西


不,我想聲明一個宏:包括(或調用)上面的宏。下面的東西不起作用:


所有: PDF: 清潔:


我並不想從PDF重複碼:清潔:爲了不造反反對DRY原則。

感謝您的幫助。

回答

2

這些不是宏,它們是目標。

Makefile中採取的[目標]的語法:[從屬目標1] [從屬目標2]

嘗試:

all: pdf clean 
+0

感謝theatrus,我想我至少要學習makefile的基礎知識。 – 2010-05-07 17:35:14

0

您還可以運行:

make clean pdf 

任何方式,全部通常用作默認make目標 - 換句話說執行make without arguments與調用相同使所有。這也許對expirienced用戶非常混亂,因此,如果你想「這樣一條捷徑」,把它deferently(例如CPDF

+0

感謝idimba這個快捷方式! – 2010-05-07 17:35:48

1

執行令,但沒有參數是 與調用使所有。

這是不正確的。文件中的第一個正常目標是默認目標。關於全部沒有什麼不可思議的,雖然傳統上用它作爲第一個目標。

+0

「傳統上使用它作爲第一個目標」 - 使用myown makefile,我更喜歡將它作爲'help',它將makefile的選項與stdout相呼應。 – 2010-05-24 12:10:38