Schreiben Sie bitte nichts hinter die .include <bsd.port.mk>-Zeile. Normalerweise kann dies vermieden werden, indem Sie die Datei bsd.port.pre.mk irgendwo in der Mitte Ihres Makefiles und bsd.port.post.mk am Ende einfügen.
Anmerkung: Sie dürfen entweder nur das bsd.port.pre.mk/bsd.port.post.mk-Paar oder bsd.port.mk alleine hinzufügen; vermischen Sie diese Verwendungen nicht!
bsd.port.pre.mk definiert nur einige Variablen, welche in Tests im Makefile benutzt werden können, bsd.port.post.mk definiert den Rest.
Hier sind einige wichtige Variablen, welche in bsd.port.pre.mk definiert sind (dies ist keine vollständige Liste, lesen Sie bitte bsd.port.mk für eine vollständige Auflistung).
Variable | Beschreibung |
---|---|
ARCH | Die Architektur, wie von uname -m zurückgegeben (z.B. i386) |
OPSYS | Der Typ des Betriebsystems, wie von uname -s zurückgegeben (z.B. FreeBSD) |
OSREL | Die Release Version des Betriebssystems (z.B., 2.1.5 oder 2.2.7) |
OSVERSION | Die numerische Version des Betriebssystems; gleichbedeutend mit __FreeBSD_version. |
PORTOBJFORMAT | Das Objektformat des Systems (elf oder aout; beachten Sie, dass für ``moderne'' Versionen von FreeBSD aout veraltet ist). |
LOCALBASE | Die Basis des ``local'' Verzeichnisbaumes (z.B. /usr/local/) |
PREFIX | Wo der Port sich selbst installiert (siehe Mehr Informationen über PREFIX). |
Anmerkung: Falls Sie die Variablen USE_IMAKE, USE_X_PREFIX, oder MASTERDIR definieren müssen, sollten Sie dies vor dem Einfügen von bsd.port.pre.mk machen.
Hier sind ein paar Beispiele von Dingen, die Sie hinter die Anweisung bsd.port.pre.mk schreiben können:
# lang/perl5 muss nicht kompliliert werden, falls perl5 schon auf dem System ist .if ${OSVERSION} > 300003 BROKEN= perl ist im System .endif # nur eine Versionsnummer für die ELF Version der shlib .if ${PORTOBJFORMAT} == "elf" TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR} .else TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR} .endif # die Software erstellt schon eine Verknüpfung fü ELF, aber nicht fü a.out post-install: .if ${PORTOBJFORMAT} == "aout" ${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so .endif
Sie haben sich daran erinnert Tabulator statt Leerzeichen nach BROKEN= und TCL_LIB_FILE= zu benutzen, oder? :-).
Zurück | Zum Anfang | Weiter |
__FreeBSD_version Werte | Nach oben | Benutzen Sie die exec -Anweisung in Wrapper-Skripten |