Ich habe ein Makefile aus dem Buch " Advanced Linux Programming (2001)" [code] verwendet . Es war seltsam für mich zu sehen, dass GNU make den Code korrekt kompiliert, ohne überhaupt einen Compiler im Makefile anzugeben. Es ist wie Backen ohne Rezept!
Dies ist eine Minimalversion des Codes:
test.c
int main(){}
Makefile
all: test
und machen wirklich funktioniert! Dies ist der Befehl, den es ausführt:
cc test.c -o test
Ich konnte in der Dokumentation nichts Nützliches finden. Wie ist das möglich?
PS Ein zusätzlicher Hinweis: Auch die Sprache ist nicht angegeben; Da zur test.c
Verfügung steht, GNU make
verwendet cc
. Wenn es existiert test.cpp
oder test.cc
(wenn es kein gibt test.c
), verwendet es g++
(und nicht c++
).
make
überprüft ein Roboter namens Ihren Kühlschrank und stellt fest, dass Mehl verfügbar ist. Dann backt er einen Standardkuchen nach seinem internen Rezept für Sie. :-)
make
, man solle Wasser kochen und seine internen Regelnmake