#!/labo/bin/tcsh -f

VERSION=2.4

ALLIANCE_INCLUDE = /labo/include
ALLIANCE_LIB = /labo/lib

# Si chgmt HEADERS ou LIB modifier le fichier includes.h
HEADERS = struct.h includes.h $(ALLIANCE_INCLUDE)/mut309.h  $(ALLIANCE_INCLUDE)/mlo402.h  $(ALLIANCE_INCLUDE)/mph306.h

SOURCES = ring2.c param.c sesame.c lirevues.c struct.c struct2.c lireplace.c placement.c barre.c deport.c routalim.c routage.c posercircuit.c bigvia.c compress.c distance.c stat.c

OBJ     = ring2.o param.o sesame.o lirevues.o struct.o struct2.o lireplace.o placement.o barre.o deport.o routalim.o routage.o posercircuit.o bigvia.o compress.o distance.o stat.o y.tab.o lex.yy.o 

INC = -I$(ALLIANCE_INCLUDE) -DMUT_H='"mut309.h"' -DMLO_H='"mlo402.h"' -DMPH_H='"mph306.h"' -DVERSION='"$(VERSION)"'

LIB = -L$(ALLIANCE_LIB) -lMgn314 -lMlu406 -lMpu306 -lMcp307 -lMcl406 -lMal400 -lMap305 -lMvl404 -lMel400 -lMsl600 -lMhl402 -lMlo402 -lMph306 -lMut309

CFLAGS = -O $(INC)

# generation du routeur de couronne
../bin/ring : $(OBJ)
	$(CC) $(OBJ) $(LIB) -o ../bin/ring

param.o     : param.c     $(HEADERS)
sesame.o    : sesame.c    $(HEADERS)
ring2.o     : ring2.c     $(HEADERS)
lirevues.o  : lirevues.c  $(HEADERS)
struct.o    : struct.c    $(HEADERS)
struct2.o   : struct2.c   $(HEADERS)
lireplace.o : lireplace.c $(HEADERS)
placement.o : placement.c $(HEADERS)
barre.o     : barre.c     $(HEADERS)
deport.o    : deport.c    $(HEADERS)
routalim.o  : routalim.c  $(HEADERS)
routage.o   : routage.c   $(HEADERS)
posercircuit.o : posercircuit.c $(HEADERS)
bigvia.o    : bigvia.c    $(HEADERS)
compress.o  : compress.c  $(HEADERS)
distance.o  : distance.c  $(HEADERS)
stat.o      : stat.c  $(HEADERS)
lex.yy.o : interp.lex $(HEADERS)
	lex interp.lex
	$(CC) $(CFLAGS) -c lex.yy.c
y.tab.o : interp.yac $(HEADERS)
	yacc -d -v interp.yac
	$(CC) $(CFLAGS) -c y.tab.c

distrib: ../bin/ring

lint: 
	lint $(SOURCES) $(HEADERS)

clean:
	-\rm *.o
	-\rm lex.yy.c y.tab.c y.tab.h y.output

rcs     :
	ci -l$(VERSION) *.c *.h *.lex *.yac Makefile
