CC = gcc -g -Wall

OBJS_GENERAL=main.o bin.o type.o pread.o signature.o expression.o programme.o \
	fonction.o bloc_base.o instruction.o asm.o
OBJS_SPECIFIC=bin_elf.o asm_sparc.o os_sunos.o asm_i386.o asm_i86.o bin_dos.o \
	bin_win32.o bin_win16.o
OBJS=$(OBJS_GENERAL) $(OBJS_SPECIFIC)

all: disc2 graph objlist afficher convert add traducteur_2 traducteur_3 \
	traducteur_4 grammaire retard

disc2: $(OBJS)
	$(CC) -o disc2 $(OBJS)

clean:
	$(RM) $(OBJS_GENERAL) $(OBJS_SPECIFIC) *.g

## Utilitaires

graph: graph.o malloc.o
	$(CC) -o graph graph.o malloc.o

OBJ1 = objlist.o malloc.o signature.o

objlist: $(OBJ1)
	$(CC) -o objlist $(OBJ1)

OBJ2 = afficher.o signature.o

afficher: $(OBJ2)
	$(CC) -o afficher $(OBJ2)

OBJ3 = convert.o signature.o

convert: $(OBJ3)
	$(CC) -o convert $(OBJ3)

Makefile:
make:
	echo >> Makefile
	echo "### genere le `date` sur `hostname`" >> Makefile
	echo >> Makefile
	gcc -MM *.c >> Makefile
	echo >> Makefile
	echo "###" >> Makefile
	echo >> Makefile

### genere le Mon Mar 30 03:55:44 MET DST 1998 sur papi

add.o: add.c
afficher.o: afficher.c signature.h type.h
asm.o: asm.c asm.h type.h instruction.h expression.h liste.h
asm_i386.o: asm_i386.c asm_i386.h asm.h type.h instruction.h \
 expression.h liste.h bin.h
asm_i86.o: asm_i86.c asm_i86.h asm.h type.h instruction.h expression.h \
 liste.h asm_i386.h
asm_sparc.o: asm_sparc.c asm_sparc.h asm.h type.h instruction.h \
 expression.h liste.h
bin.o: bin.c bin.h
bin_dos.o: bin_dos.c bin_dos.h bin.h type.h pread.h asm.h \
 instruction.h expression.h liste.h
bin_elf.o: bin_elf.c bin_elf.h bin.h pread.h type.h
bin_win16.o: bin_win16.c bin_win16.h bin.h type.h liste.h bin_dos.h \
 pread.h main.h os.h asm.h instruction.h expression.h
bin_win32.o: bin_win32.c bin_win32.h bin.h type.h bin_dos.h pread.h \
 main.h os.h asm.h instruction.h expression.h liste.h
bloc_base.o: bloc_base.c bloc_base.h instruction.h expression.h \
 liste.h asm.h type.h programme.h bin.h fonction.h main.h os.h
boucle.o: boucle.c
convert.o: convert.c signature.h type.h
essai_liste.o: essai_liste.c liste.h
expression.o: expression.c expression.h liste.h
fonction.o: fonction.c fonction.h bloc_base.h instruction.h \
 expression.h liste.h asm.h type.h
grammaire.o: grammaire.c liste.h
graph.o: graph.c malloc.h liste.h
instruction.o: instruction.c instruction.h expression.h liste.h \
 programme.h bin.h fonction.h bloc_base.h asm.h type.h
lex.yy.o: lex.yy.c y.tab.c
main.o: main.c main.h bin.h os.h asm.h type.h instruction.h \
 expression.h liste.h pread.h signature.h programme.h fonction.h \
 bloc_base.h asm_sparc.h asm_i386.h asm_i86.h os_sunos.h bin_elf.h \
 bin_dos.h bin_win16.h bin_win32.h
malloc.o: malloc.c malloc.h
objlist.o: objlist.c type.h liste.h malloc.h signature.h
os_sunos.o: os_sunos.c os_sunos.h os.h
pread.o: pread.c pread.h
programme.o: programme.c programme.h liste.h bin.h fonction.h \
 bloc_base.h instruction.h expression.h asm.h type.h pread.h
quadruplets.o: quadruplets.c liste.h
retard.o: retard.c
signature.o: signature.c signature.h type.h
traducteur_2.o: traducteur_2.c liste.h
traducteur_3.o: traducteur_3.c liste.h
traducteur_4.o: traducteur_4.c liste.h
traducteur_simple.o: traducteur_simple.c liste.h
type.o: type.c type.h
y.tab.o: y.tab.c

###

