PROJECT_NAME = first_prog CC=gcc PROJECT_SRC = . vpath %.c $(PROJECT_SRC) ######################################################################## SRCS = main.c SRCS += ######################################################################## INC_DIRS = . INCLUDE = $(addprefix -I,$(INC_DIRS)) ######################################################################## CFLAGS=-std=c99 -g -O0 -U__STRICT_ANSI__ \ -Wall -Wextra -Wc++-compat -Wwrite-strings -Wconversion \ -pedantic LDFLAGS= ######################################################################## all: $(PROJECT_NAME) $(PROJECT_NAME): $(SRCS) $(CC) $(INCLUDE) $(CFLAGS) $^ -o $@ $(LDFLAGS) # $@ = cible, $^ = prérequis %.o: %.c $(CC) $< -c $(INCLUDE) $(CFLAGS) # $< = premier des prérequis / -c = compile sans édition de liens clean: rm -f *.o $(PROJECT_NAME) ########################################################################