#---------------- Definition des commandes
CC	= gcc
RM	= rm
INDENT	= indent

#---------------- Definition des parametres
CFLAGS	= -g -Wall -I.
IDFLAGS	= -gnu  -bli0 -npsl

#---------------- Regle generale de compilation
%.o : %.c
	$(CC) $(CFLAGS) -c -o $@ $<

#---------------- Regle de construction
abl : parse_abl_c.o bip.o var.o main.o
	$(CC) $^ -o $@ 
 
bip.o: 	       bip.c bip.h var.h
main.o:        main.c parse_abl.h bip.h var.h
parse_abl_c.o: parse_abl_c.c var.h bip.h parse_abl.h
var.o:         var.c var.h

#---------------- Autres regles 
clean:
	$(RM) *.tab.* *.o *~ 2> /dev/null || true

realclean: clean
	$(RM) abl 2> /dev/null || true

indent:
	$(INDENT) $(IDFLAGS) *.c *.h
