From: Mathias Waack (mathias_at_atoll-net.de)
Date: 07. Nov 2001
On Wednesday 07 November 2001 16:13, Mark Seuffert wrote:
> Muss ich jetzt:
> 1. Für jede Source/Objet-Datei ein target anlegen...
> ansonsten nimmt er "g++ -c" anstatt "gcc -Wall -ansi -c"?
Du willst doch auch g++ oder warum heissen die Dateien .cpp? Die
Flags werden ueber die Variable CXXFLAGS gesetzt, d.h. ein
CXXFLAGS = -Wall -ansi
macht dann ein "g++ -Wall -ansi ..."
> 2. Für "make all" alle Object-Dateien einzelnd aufzählen...
> oder geht das auch eleganter (Liste mit Dateien)?
Ja sicher, man kann die Ausgabe eines Befehls nehmen. Ich persoenlich mag das
aber nicht. Die autotools halten sich etwa an folgendes Schema:
CXX =
CXXFLAGS =
LDFLAGS =
LIBS =
CXXLINK = g++ -o $@ $(LDFLAGS)
...
TARGETS = target1 target2 ...
target1_OBJECTS = file1.o file2.o ...
...
all: $(TARGETS)
target1: $(target1_OBJECTS)
$(CXXLINK) $(target1_OBJECTS) $(LIBS)
clean:
-rm -f (target1_OBJECTS) ...
Das gefaellt mir eigentlich ganz gut. Das file.o von file.cpp abhaengt, weiss
das make selber, dass muss man ihm nicht extra sagen.
Mathias
Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET