########################################
#~ définitions
########################################

# nom de l'executable
BIN=accolades

# liste des fichiers sources (hors fichiers générés par flex et bison)
SRCS=main.c

default: $(BIN)

########################################
#~ regles pour bison
########################################

BISONDEF=exo4_p.y
SRCS+=$(BISONDEF:%.y=%.c)
$(BISONDEF:%.y=%.c): $(BISONDEF)
	bison -d -o$@ $<

########################################
#~ regles pour flex
########################################

LEXDEF=exo4_l.l
SRCS+=$(LEXDEF:%.l=%.c)
$(LEXDEF:%.l=%.c): $(LEXDEF)
	flex -o$@ $<

########################################
#~ regles pour l'executable
########################################

%.o: %.c
	g++ -c $< -o $@

$(BIN): $(SRCS:%.c=%.o)
	g++ -o $@ $+ -lfl

clean:
	rm -f $(BIN) *.o *~ $(LEXDEF:%.l=%.c) $(BISONDEF:%.y=%.c) $(BISONDEF:%.y=%.h)
