GNU makeがディストリビューションのディレクトリにファイルをコピーします

StackOverflow https://stackoverflow.com/questions/2543127

  •  23-09-2019
  •  | 
  •  

質問

私は、ソース管理のための別々のディレクトリに私のソースHTML(や画像など)を維持します。 ディストリビューションを作るの一部は、出力フォルダにメイクコピーファイルを持っているし、属性を設定することです。

今日の私のメイクショー(抜粋):

%.html:
    /usr/bin/install -c -p -m 644 $< $@ 

www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html
$(HTMLDST)/firmware.html: $(HTMLSRC)/firmware.html 
$(HTMLDST)/firmware_status.html: $(HTMLSRC)/firmware_status.html 
$(HTMLDST)/index.html: $(HTMLSRC)/index.html 

これは、たった3つのHTMLファイルで示されているが、実際には、たくさんあります。

私は(パスなし)だけのリストにファイル名を好きで、メイクを持っているでしょうが、送信元と宛先の間の比較を行うと、更新されたファイルをコピーします。

は、事前にありがとう セーレン

役に立ちましたか?

解決

これはそれを行う必要があります:

$(HTMLDST)/%.html: $(HTMLSRC)/%.html
    /usr/bin/install -c -p -m 644 $< $@ 

www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html

あるいは、略してます:

HTMLFILES = firmware firmware_status index

DESTFILES = $(patsubst %,$(HTMLDST)/%.html,$(HTMLFILES))

$(HTMLDST)/%.html: $(HTMLSRC)/%.html
    /usr/bin/install -c -p -m 644 $< $@ 

.PHONY: www
www: $(DESTFILES)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top