# File: Makefile

MAKEFILE = Makefile

#CC = gcc -O2 -Wunused -ansi -pedantic -Iexec
CC = dcc -3.1 -DNDEBUG

OBJS = address.o address_set.o bank.o config.o cpu.o instruction.o\
	instruction_set.o machine.o memory.o reverse_graph.o segment.o\
	sequence.o set.o source_program.o string.o target_program.o u_byte.o


Electrostatic $(OBJS) general.o: $(MAKEFILE)


Electrostatic: translator.c $(OBJS) general.o
	$(CC) $(OBJS) "general.o" "translator.c" -o "C:Electrostatic"

#	$(CC) -DTEST $(OBJS) "general.o" "translator.c" -o "C:Electrostatic"


$(OBJS): %.o: %.c %.h %_protos.h
	$(CC) -c "$*.c"


general.o: general_protos.h general.c
	$(CC) -c "general.c"


address.o: bank_protos.h address_set_protos.h u_byte_protos.h

address_set.o: address_protos.h reverse_graph_protos.h set_protos.h

bank.o: config_protos.h

config.o: string_protos.h

cpu.o: string_protos.h instruction_set_protos.h

general.o: memory_protos.h

instruction.o: string_protos.h instruction_set_protos.h

instruction_set.o: instruction_protos.h string_protos.h set_protos.h

machine.o: string_protos.h instruction_set_protos.h

reverse_graph.o: address_set_protos.h

source_program.o: memory_protos.h segment_protos.h reverse_graph_protos.h machine_protos.h address_set_protos.h address_protos.h general_protos.h bank_protos.h

segment.o: memory_protos.h bank_protos.h

sequence.o: memory_protos.h

string.o: memory_protos.h


clean:
	Delete "#?.o"

