2016-08-30 35 views
0

我已經在PHP項目中使用了這個Makefile(這是從完整的Makefile中刪除的)。我該如何改變這個,讓automake檢測到public/assets/styles/main.scss已經改變&重新運行sass?Makefile:如果源代碼發生變化,重建目標

all: public/assets/styles/styles.css 

public/assets/styles/styles.css: 
    sass public/assets/styles/main.scss > public/assets/styles/styles.css 
+0

您需要設置SCSS文件的依賴。 – tkausl

回答

1

簡單地使.scss文件您.css目標的先決條件。作爲獎勵,避免你的基本路徑的重複和使用automatic variables使配方少冗餘:

STYLEDIR := public/assets/styles 

all: $(STYLEDIR)/styles.css 

$(STYLEDIR)/styles.css: $(STYLEDIR)/main.scss 
    sass $< > [email protected] 
+0

問題在這裏:如果'sass'命令失敗,輸出仍然被創建。下一次運行會混淆_make_。在makefile中添加一個'DELETE_ON_ERROR:'(你幾乎總是希望啓用它)。 – bobbogo

相關問題