000
16.01.2003, 20:41 Uhr
Uwe
C/C++ Master (Administrator)
|
Erstellt von Leif Bruder
In den Verzeichnissen API und MFC befinden sich die Quellcodes eines kleinen Demo-Programms (Währungsumrechner). Beide Verzeichnisse enthalten eine Datei "Makefile", in der die einzelnen Befehle zum Compilieren und Linken der Programme stehen. Mit Make" (im Projekt- Verzeichnis aufgerufen) wird das Programm erstellt, mit Make clean" werden die beim übersetzen erstellten temporären Dateien gelöscht. Der Aufbau der Makefiles ist praktisch gleich:
C++: |
Euro_Mfc.exe: Main.obj Resource.res ilink32 /aa main.obj c0w32.obj,Euro_Mfc.exe,,cw32.lib\ import32.lib nafxcw.lib,,resource.res
Main.obj: Main.cpp Resource.h bcc32 -c -VF -w- -O1 main.cpp
Resource.res: Resource.rc Resource.h brcc32 Resource.rc
Clean: if exist *.il* del *.il* if exist *.map del *.map if exist *.tds del *.tds if exist *.obj del *.obj if exist *.res del *.res
|
Zuerst kommt der Name eines "Ziels", d.h. einer Datei, die erstellt werden soll. Hier z.B. "Euro_Mfc.exe", oder "Main.obj". Danach ein Doppelpunkt, dann die Dateien, die zum Erstellen des Ziels benötigt werden. Für die Euro_Mfc.exe werden z.B. die Dateien "Main.obj" und "Resource.res" benötigt. In der/den nächsten Zeile(n) stehen dann die Befehle, mit denen das Ziel erstellt wird. Jede Zeile = ein Befehl, nur bei einem Backslash wird die folgende Zeile einfach angehängt.
Beispiel: Das Ziel "Resource.res"benötigt zum Erzeugen die Dateien "Resource.rc" und "Resource.h". Die Datei wird mit dem Befehl
C++: |
"brcc32 Resource.rc"
|
erzeugt.
Beim Aufruf von MAKE wird die Datei "Makefile" nach dem übergebenen Ziel durchsucht und dieses erzeugt. Wenn nur die Datei "Main.obj" erzeugt werden soll, lautet der Befehl also "Make Main.obj". MAKE überprüft jetzt, welche Dateien benötigt werden, und erzeugt diese zuerst, ggf. sind dazu weitere Ziele zu erstellen, die wieder weitere Dateien brauchen usw. Das erledigt MAKE jetzt automatisch.
Wird beim Aufruf der MAKE.EXE kein Ziel übergeben, wird automatisch das erste Ziel in der Datei erstellt, hier also "Euro_Mfc.exe".
Soll ein anderes Makefile verwendet werden, so erfolgt der Aufruf von MAKE.EXE über "Make -fdateiname Ziel", OHNE LEERZEICHEN ZWISCHEN "-f" und dem Dateinamen!
Was die Befehle "bcc32 -c -VF..." usw. bedeuten, steht in der Hilfedatei vom BCC55, die geh ich jetzt nicht einzeln durch...
Make kann noch viel mehr, bei größeren Projekten gibt's noch nen Haufen kleiner und großer Hilfen, die einem das Leben leichter machen (wei owei, was ein Satz)... dazu laß ich mich dann ein andermal aus...
Das Beispiel steht als Projekt für VC++ im Downloadbereich zur Verfügung. -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... Uwe Dieser Post wurde am 16.01.2003 um 21:03 Uhr von Uwe editiert. |