3 Stimmen

Wie kann ich verschiedene Versionen eines Projekts mit dem Jam Make Tool erstellen?

Ich habe ein C++-Projekt, das in verschiedene Versionen kompiliert, darunter Release, Debug, Shared Library und Executable, mit unterschiedlichen Compiler-Flags für jede Version. Ich probiere Jam als Alternative zu Make aus, weil es mir ein einfacheres System zu sein scheint.

Ist Jam zu so etwas in der Lage? Das Hauptproblem ist, dass es die .o-Dateien immer in denselben Ordner wie die Quelldatei legt, so dass es sie beim Erstellen mehrerer Versionen überschreibt.

Update

Ich habe eine Lösung gefunden, die zu funktionieren scheint. Mit dieser Datei kann ich Debug- und Release-Konfigurationen einer Bibliothek oder einer ausführbaren Datei erstellen.

Befehl zum Erstellen der Release-Bibliothek:

jam -s config=lib -s release=1

Wenn Sie nur eingeben jam wird die ausführbare Debug-Datei erstellt. Hier ist das Jamfile:

FILES = 
    main.cpp 
    ;

BASENAME = steve ;
OBJ = obj ;

if $(release) 
{
    OBJ = $(OBJ)r ;
} 
else 
{
    DEFINES += DEBUG ;
    OBJ = $(OBJ)d ;
}

if $(config) = lib 
{
    OBJ = $(OBJ)_lib ;
    OUTFILE = lib$(BASENAME).so ;
    DEFINES += SHARED_LIBRARY ;
    LINKFLAGS += 
        -shared -Wl,-soname,$(OUTFILE) -fvisibility=hidden -fPICS 
    ;
} 
else 
{
    OUTFILE = $(BASENAME) ;
}

LOCATE_TARGET = $(OBJ) ;
MkDir $(LOCATE_TARGET) ;
Main $(OUTFILE) : $(FILES) ;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X