1
我試圖編輯一個控制從文本文件生成pdf文件(Sphinx,如果你熟悉它)的make文件。它目前的設置使得每個文檔有一個make文件(你有一個源目錄和一個生成目錄),但是我想調整目錄結構,並且只有一個全局makefile,當make命令被稱爲'make latexpdf',則爲所有文檔生成pdf。Makefiles中的變量
我相信這可以通過定義變量時使用某種通配符系統來完成,但我遇到了這個問題。
在它的設置是這樣的時刻:(我只包括相關線路)
BUILDDIR = builddir
SOURCEDIR = sourcedir
$(SPHINXBUILD) some options $(SOURCEDIR) $(BUILDDIR)/latex
$(MAKE) -C $(BUILDDIR)/latex all-pdf
但是爲了能夠讓它經過在源目錄中的每個子目錄,並把它打造到相同名稱的子目錄中,我想我可以做類似這樣的事情:
EACHDIR = {"subdir 1","subdir 2"} #This is the line that I need help with.
#subdir refers to each document that I'm making
BUILDDIR = builddir/$(EACHDIR)
SOURCEDIR = sourcedir/$(EACHDIR)
$(SPHINXBUILD) some options $(SOURCEDIR) $(BUILDDIR)/latex
$(MAKE) -C $(BUILDDIR)/latex all-pdf
雖然這並不適用於我。任何指導將不勝感激。
感謝
謝謝!你介意說明如何使用'make all'來允許我不必爲每個文檔輸入每個'make subdir1'等命令?它只是一個嵌套'$(SUBDIRS):'在'all:'內部的情況嗎? – user1488804 2012-07-20 13:59:12
@ user1488804:是的,你只需要'all:$(SUBDIRS)',還有'.PHONY:all'。 – 2012-07-20 14:01:59
謝謝。我仍然遇到了麻煩與多個目錄,但我懷疑這些是獅身人面像在不同的文件中有抱怨。希望我能解決這些問題,而不會有太多的麻煩 – user1488804 2012-07-20 14:39:22