Automake

如何防止 automake 覆蓋 _DATA 文件

  • February 3, 2019

在 Makefile.am 我們有:

bin_PROGRAMS = sample
sample_SOURCES = main.cpp
sampleconfdir = $(sysconfdir)/sample
sampleconf_DATA = sample.cfg

每當我使用 安裝應用程序時make install,文件 sample.cfg 都會被覆蓋。如果文件已經存在,如何告訴 automake 跳過複製?

軟體安裝範例配置並讓使用者複製和修改此配置以用於實際安裝是相當普遍的。“使用者”是指安裝軟體的任何人,無論是在系統範圍內安裝軟體的本地管理員(root)還是在其$HOME某處安裝軟體的非特權使用者。

例如,可以安裝範例配置文件

  1. in 或 under sysconfdir,但文件名經過修改(例如帶有.example後綴)。
  2. examples是 .下某處的單獨目錄docdir

然後,該INSTALL文件將指導使用者複製和修改這些範例以滿足他們的需要。

這樣做的好處是安裝新版本軟體的使用者將獲得配置文件的最新範例。然後,如果需要,他們可以根據新文件更新其實際配置。

避免安裝新的配置文件,而不是安裝範例,當配置的語法或其任何設置發生更改時,使用者可能會感到困惑,因為他們不知道文件應該是什麼樣子(除非這在實用程序的手冊和升級說明中有明確提及)。

引用自:https://unix.stackexchange.com/questions/498386