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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
#---------------------------------------------------
#
# Definition de la cible par défaut
#
#---------------------------------------------------
tout: all
#---------------------------------------------------
#
# Definition des chemins
#
#---------------------------------------------------
SOURCE_DIR = ./
EXE_DIR = $(SOURCE_DIR)
OBJECT_DIR = $(SOURCE_DIR)
INCLUDE_DIR = $(SOURCE_DIR)
LIB_DIR = $(SOURCE_DIR)
#---------------------------------------------------
#
# Definition du nom du programme
#
#---------------------------------------------------
EXEC = $(EXE_DIR)/programme
#---------------------------------------------------
#
# Definition des outils
#
#---------------------------------------------------
CC = gcc
# outil d'archivage pour créer une bibliothèque
#
AR = ar rv
RANLIB = ar ts
#---------------------------------------------------
#
# Definition des flags de compilation
#
#---------------------------------------------------
CFLAGS = -W -Wall -ansi -g -I$(INCLUDE_DIR)
LDFLAGS = -L$(LIB_DIR) -lm
#---------------------------------------------------
#
# Definition de la bibliothèque utilisée
#
#---------------------------------------------------
# son nom
#
MYLIB = $(LIB_DIR)/MyLib.a
# sa construction
#
OBJS = $(OBJECT_DIR)/f1.o \
$(OBJECT_DIR)/f2.o \
$(OBJECT_DIR)/f3.o
$(MYLIB): $(OBJS)
$(AR) $(MYLIB) $(OBJS) ;
$(RANLIB) $(MYLIB) ;
cd $(SOURCE_DIR)
#---------------------------------------------------
#
# Directives pour la compilation
#
#---------------------------------------------------
$(SOURCE_DIR)/.c$(OBJECT_DIR)/.o:
$(CC) $(CFLAGS) -c $(SOURCE_DIR)/$< $(OBJECT_DIR)
#---------------------------------------------------
#
# Cibles
#
#---------------------------------------------------
all:: programme
programme:: $(MYLIB)
$(CC) $(CFLAGS) $(SOURCE_DIR)/main.c $(LDFLAGS) \
$(MYLIB) -o $(EXEC)
clean::
rm -rf *.o *.a $(EXEC) |