.PHONY: debug

CC = gcc
OPTIONS = -Wall -ansi -pedantic -Werror
LINKER=-Wl,-undefined,dynamic_lookup # Pour les pénibles sous MacOS
BIBLIO=-lreadline
DEBUG_OPTIONS =
EXECUTABLE = valisp
# Ne pas modifier ci-dessous


NIVEAU=100000
# SOURCE = $(filter-out $(wildcard tp*.c),$(wildcard *.c))
SOURCE = $(wildcard *.c)
OBJETS = $(SOURCE:.c=.o)

all: $(EXECUTABLE)

debug: DEBUG_OPTIONS = -g
debug: $(EXECUTABLE)

clang: CC = clang
clang: $(EXECUTABLE)

$(EXECUTABLE): $(OBJETS)
	$(CC) -DNIVEAU=$(NIVEAU) $(DEBUG_OPTIONS) $(OPTIONS) $(OBJETS) $(BIBLIO) $(LINKER) -o $(EXECUTABLE)


# tp1: $(OBJETS_TP1)
#	$(CC) -g $(OPTIONS) $^ $(BIBLIO) -o $@


%.o: %.c
	$(CC) -DNIVEAU=$(NIVEAU) $(DEBUG_OPTIONS) $(OPTIONS) -MMD -c $<

clean:
	@if [ -f "parseur.c" ];    \
	then                        \
	    rm -vf *.o *.d;          \
	else                          \
	    cp parseur.o parseur.sauv; \
	    rm -vf *.o *.d;             \
	    mv parseur.sauv parseur.o;   \
	fi;

-include *.d
