Makefiles

Page principale

Répondre à ce message
Auteur: Xavier SIRVENT
Date:  
À: GUILDE
Sujet: Makefiles
Salut a tous

A force de faire des makefiles pour Solaris en utilisant un make non
GNU, voila ce qui arrive: mes makefiles ne marchent plus sous linux.

Voila en gros ce que j'ai fait:

en fonction de mes cibles (all, debug, purify, quantify, etc...) je
positionne des variables (CC, LD, etc...) de la manière suivante:

Je rajoute au début de mon makefile les lignes suivantes:

RELEASE_CC=CC -c
DEBUG_CC=CC -c -g

RELEASE_LD=ld
DEBUG_LD=ld

all:=CURRENT_CC=$(RELEASE_CC)
all:=CURRENT_LD=$(RELEASE_LD)

debug:=CURRENT_CC=$(DEBUG_CC)
debug:=CURRENT_LD=$(DEBUG_LD)

puis, pour faire simple:

all: HelloWorld
debug: HelloWorld

HelloWorld: helloWorld.o)
    $(CURRENT_LD) HelloWorld.o -o HelloWorld


HelloWorld.o: HelloWorld.cpp
    $(CURRENT_CC) -c HelloWorld.o HelloWorld.cpp


Ainsi, que je tape make ou make debug, cela me build un binaire normal
ou debug

Ben, ca, avec gmake, ca ne marche pas!

Savez-vous comment positionner des variables en fonction des cibles?
Des idées pour faire autrement? Je ne suis pas un expert make

Xavier