le makefile refait tout à chaque fois?!
bonjour,
j'ai modifié un makefile, pour utiliser une règle générique au lieu de mettre une ligne de commande par fichier à générer, voici le fichier :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
LIB = Messages
STIC_DIR = /nfs/STIC/References/Logiciel
FON_COM_DIR = $(STIC_DIR)/Externe/HORIZON/FON_TRAMA/20051129_SW2-1_TB/L_HORIZON/fon
OBJ_DIR = ./obj
FON_COM_INCLUDE_DIR = ${FON_COM_DIR}/interface/C++
FON_COM_LIBRARY_DIR = ${FON_COM_DIR}/library
INC_LIB = -I. -I${FON_COM_INCLUDE_DIR}
COMPIL_FLAGS = -D__RTRT__
CXX = g++
DEBUG=no
ifeq ($(DEBUG),yes)
CXXFLAGS= -W -Wall -g
else
CXXFLAGS= -O3
endif
all: Makefile \
CMS_DRMS_NotifyOccuredTriggerEvent.o \
CS_EWS_change_configuration_order_DTS.o \
CS_IFF_change_configuration_order_DTS.o \
CS_IRAS_Enable_Exchange_DTS.o \
CS_LRR_change_configuration_order_DTS.o \
CS_LRR_change_readiness_state_DTS.o \
rm -f $(LIB).a
ar -r $(LIB).a $(OBJ_DIR)/*.o
# ---------------------------------------------------------------
ifeq ($(DEBUG),yes)
@echo "Génération en mode debug"
else
@echo "Génération en mode release"
endif
.PHONY: clean
%.o: %.cc %.h
@echo "------------- Compilation de $@ -------------"
@$(CXX) $(CXXLAGS) $(COMPIL_FLAGS) -o $(OBJ_DIR)/$@ -c $< $(INC_LIB)
clean:
@echo "------------- Effacement des fichiers -------------"
@rm -f $(OBJ_DIR)/*.o *.a |
Mon soucis est que je voudrais que lorsque je tape make, seuls les fichiers qui ont été modifiés soient pris en compte, or là, tous les fichiers sont recompilés!!
Comment puis-je faire? (J'ai du râter un truc mais je ne vois pas..)
cordialement,
Jula.