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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.