From: Mark Seuffert (office_at_pirate.de)
Date: 07. Nov 2001
Hallo,
nachdem ich jetzt das erste mal mit aufwendigeren Makefile selbst kämpfen muss
(gestern nacht lange bei Google und man page geschmökert), wollte ich Euch mal
nach Tips fragen.
Ich hab ein relativ einfaches Projekt (OpenGL Grafikengine), bisheriges
Makefile anbei - bitte nicht auslachen. :)
Es besteht nur aus einigen Source-Dateien und einem Headerfile. Zu den
Abhängigkeiten nix besonderes: Alle Source-Dateien hängen nur von dem
entsprechend includeten Header ab (also keine Abhängigkeiten untereinander).
Das Executable muss gelinkt werden falls sich eine Objectdatei geändert hat.
Muss ich jetzt:
1. Für jede Source/Objet-Datei ein target anlegen...
ansonsten nimmt er "g++ -c" anstatt "gcc -Wall -ansi -c"?
2. Für "make all" alle Object-Dateien einzelnd aufzählen...
oder geht das auch eleganter (Liste mit Dateien)?
-- Grüße, Moak
# Makefile for GNU/Linux version (note: Also a KDevelop project file is available)
# Moak 07.11.2001
CC = gcc -Wall -ansi
all: Lucell.o BlueSharkEngine_console.o BlueSharkEngine_core.o BlueSharkEngine_coreinterface.o \
BlueSharkEngine_error.o BlueSharkEngine_mainloop.o BlueSharkEngine_misc.o \
BlueSharkEngine_systeminfo.o BlueSharkEngine_timer.o BlueSharkEngine_windowmanager.o
$(CC) -o lucell \
Lucell.o BlueSharkEngine_console.o BlueSharkEngine_core.o BlueSharkEngine_coreinterface.o \
BlueSharkEngine_error.o BlueSharkEngine_mainloop.o BlueSharkEngine_misc.o \
BlueSharkEngine_systeminfo.o BlueSharkEngine_timer.o BlueSharkEngine_windowmanager.o \
-lGL -lGLU `sdl-config --cflags --libs`
Lucell.o: Lucell.cpp
$(CC) -c Lucell.cpp
BlueSharkEngine_console.o: BlueSharkEngine_console.cpp
$(CC) -c BlueSharkEngine_console.cpp
BlueSharkEngine_core.o: BlueSharkEngine_core.cpp
$(CC) -c BlueSharkEngine_core.cpp
BlueSharkEngine_coreinterface.o: BlueSharkEngine_coreinterface.cpp
$(CC) -c BlueSharkEngine_coreinterface.cpp
BlueSharkEngine_error.o: BlueSharkEngine_error.cpp
$(CC) -c BlueSharkEngine_error.cpp
BlueSharkEngine_mainloop.o: BlueSharkEngine_mainloop.cpp
$(CC) -c BlueSharkEngine_mainloop.cpp
BlueSharkEngine_misc.o: BlueSharkEngine_misc.cpp
$(CC) -c BlueSharkEngine_misc.cpp
BlueSharkEngine_systeminfo.o: BlueSharkEngine_systeminfo.cpp
$(CC) -c BlueSharkEngine_systeminfo.cpp
BlueSharkEngine_timer.o: BlueSharkEngine_timer.cpp
$(CC) -c BlueSharkEngine_timer.cpp
BlueSharkEngine_windowmanager.o: BlueSharkEngine_windowmanager.cpp
$(CC) -c BlueSharkEngine_windowmanager.cpp
clean:
@echo Cleaning up...
@rm *.o
@echo Done.
Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET