Ich habe einige Header-Dateien in einem Unterverzeichnis, das in ein gleichnamiges Unterverzeichnis in meinem Include-Verzeichnis kopiert werden muss. Ich kann das nobase-Präfix verwenden, um dies zu ermöglichen (ich arbeite mit Heimdal-Code, fyi):
%Vor%Aber einige dieser Header-Dateien werden während des Build-Prozesses generiert (da Heimdal erstellt werden muss, bevor diese Header-Dateien existieren), also muss ich das Nodist-Präfix verwenden, damit das dist nicht stirbt.
Ich fand einen Artikel , der sagte, ich könnte sie beide zusammen verwenden, und lieferte sogar ein ähnliches Beispiel, also tat ich es das:
%Vor%Ich habe keine Warnungen oder Fehler bemerkt, aber diese Header-Dateien werden NICHT in mein Include-Verzeichnis kopiert. Mache ich etwas falsch oder gibt es einen Fehler in Autotools?
Interessant, wenn ich die Präfixe umkehre, erhalte ich diesen Fehler:
%Vor%Der Grund für diesen Fehler wird hier in der Automake-Dokumentation erläutert:
'nobase_' sollte zuerst angegeben werden, wenn es in Verbindung mit 'dist_' oder 'nodist _'
verwendet wird
Ich habe auch nodist_include_HEADERS definiert (was funktioniert). Vielleicht verursachen die beiden Definitionen eine Art Konflikt?
Ich habe gerade versucht, die nodist_include_HEADERS zu entfernen und alle meine Header unter die Zeile nobase_nodist_include_HEADERS zu setzen, aber jetzt werden KEINE meiner Header installiert.
Automake und Systeminfo: automake (GNU automake) 1.13.4 openSUSE 13.2 (x86_64)
Wenn die Header von einem Programm generiert wurden, sollten Sie sie mit BUILT_SOURCES
markieren, damit automake
nicht verwirrt wird, um sie als dist
zu installieren.
Zweitens ist es für Header-Dateien, die nicht installiert werden sollen, besser, SOURCES
directive zu verwenden, als HEADERS
. Versuchen Sie Folgendes: