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
   | # FLAGS
 
CC = gcc -g
CFLAGS = -O4 -W -Wall
CPPFLAGS = -I.
LDLIBS = -lm
SRC = $(wildcard *.c) #wildcard permet d'autoriser le symbole *
OBJ = $(SRC:.c=.o)
MAIN = premier
 
SRCDIR = src
BINDIR = bin
OBJDIR = obj
 
all: $(MAIN)
 
# $@ =  source
# $< = premiere dependance
# $^ = liste des  dépendances
# $? = liste des dépendances plus récentes que la cible
 
premier:$(OBJ)
	$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $^ $(LDLIBS)
 
# Génère tous les .o, à partir du .c et du .h
%.o:%.c %.h
	$(CC) -c $<  | 
Partager