Gemeinsamer GNU-Makefile-Verzeichnispfad

Ich versuche zu konsolidieren, bauen die Informationen durch eine gemeinsame makefile. Mein problem ist, dass ich verwenden möchten, die Datei makefile aus anderen Unterverzeichnis-Ebenen, die macht das Arbeitsverzeichnis Wert (pwd) unberechenbar. Zum Beispiel:

# Makefile.common
TOP := $(shell pwd)
COMPONENT_DIR := $(TOP)/component
COMPONENT_INC := $(COMPONENT_DIR)/include
COMPONENT_LIB := $(COMPONENT_DIR)/libcomponent.a

Wenn ich auch Makefile.common aus einem Unterverzeichnis, wie so die $(TOP) Verzeichnis ist falsch und alles andere folgt anzupassen:

# other_component/Makefile
include ../Makefile.common
# $(COMPONENT_LIB) is incorrectly other_component/component

Was ist der beste Weg, um Makefile.common zu verwenden seine eigenen Verzeichnis-Pfad statt des mehr wankelmütig pwd?

InformationsquelleAutor der Frage cdleary | 2008-11-27

Schreibe einen Kommentar