Re: make(bsd) - make(gnu)

From: Harold Gutch <logix(at)foobar.franken.de>
Date: Mon, 27 Oct 2003 00:24:02 +0100

On Sun, Oct 26, 2003 at 10:19:35PM +0100, Stefan Blechschmidt wrote:
> Hallo Liste,
> bin Um-Einsteiger von GNU/Linux auf FreeBSD 5.1.
>
> Habe mein ben?tigten Programme ?ber Quelltexte installiert.
> ./configure; make; make install
>
> Jetzt lese ich im Buch "FreeBSD 5 von C&L", dass man beim Installieren
> von Quelltexten gmake anstatt make(bsd) verwenden soll.
>
> Mich w?rde nun interessieren warum man gmake, make vorziehen soll.

Weil viele Programme unter Linux geschrieben werden, und daher
mit Hilfe von GNU make compiliert werden, wodurch die verwendeten
Makefiles Features benutzen die GNU make hat, nicht aber pmake
(das ist quasi "BSD-make"). Generell versuche ich immer zuerst
pmake, und wenn es damit fehlschlaegt, starte ich einen Versuch
mit gmake.

> Laut Buch ist es nicht kompatibel, funktioniert aber bis jetzt bei mir.
> Habe ich da noch mit ?berraschungen zu rechnen?

Eigentlich nicht. Es kann theoretisch sein, dass ein Makefile
irgendwo mal eine (make-)Variablenzuweisung hat, die von pmake
und gmake unterschiedlich interpretiert wird, und sich das dann
ueber ein "-DFOO=BAR" letztendlich auch tatsaechlich auf dein
Binary auswirkt, ich habe sowas aber noch nicht gesehen.
Normalerweise ist das einzige was passiert, dass einer der beiden
makes nicht funktioniert.

Alles was bei FreeBSD so dabei ist, ist uebrigens so geschrieben,
dass es mit pmake funktioniert, also alles in /usr/src (Kernel
und FreeBSD Userland), und auch alles in /usr/ports. Die Ports
verwenden vielleicht selbst dann doch GNU make, aber das
Ports-System ist so geschrieben, dass in /usr/ports/xxx/yyy nie
manuelle Aufrufe von gmake noetig sind. Da wuerde ich ueberall
alles mit pmake ("make") machen. gmake setze ich nur ein wenn
ich ein Programm compileren will das nicht in den Ports ist, und
ich daher das manuell compilieren muss - und auch dann setze ich
ihn wie gesagt nur ein wenn es mit pmake nicht compiliert.

Uebrigens hat dein MUA den "Reply-To:" in der Mail auf die ich
hier antworte etwas verhunzt, korrigier das doch bitte.

bye,
  Harold

To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 27 Oct 2003 - 00:24:29 CET

search this site