Make
如何在 Makefile 中正確定義 sysconfdir?
https://www.gnu.org/software/make/manual/html_node/Directory-Variables.html
它表明你應該寫這樣的東西:
prefix=/usr/local exec_prefix=$(prefix) bindir=$(exec_prefix)/bin sysconfdir=$(prefix)/etc
因此,當您使用
make prefix="/usr"
它時,它會正確產生bindir=/usr/bin
.但它也會產生
sysconfdir=/usr/etc
錯誤的。我應該如何
sysconfdir
正確定義(以便它產生/usr/local/etc
or/etc
)?我還應該sysconfdir
在命令行中覆蓋嗎?或者,也許我應該創建一個
prefixroot
變數,在其中剝離尾隨/usr
並使用它而不是$(prefix)
用於不在的目錄/usr
?或者也許創建一個符號連結
$(prefix)/etc
->$(prefix:/usr=)/etc
如果prefix
包含尾隨/usr
?
是的,您應該覆蓋
sysconfdir
:make prefix=/usr sysconfdir=/etc