LIBDEPS=../cpu/libcpu.a
GDBARM=../../../../processors/ARM/gdb-8.3.1
GDBARMEXP=../../../../processors/ARM/exploration
INCLUDES := -I$(GDBARM)/include \
			-I$(GDBARM)/sim/arm \
			-I$(GDBARM)/bfd \
			-I../bfd
LIBS:=-L../bfd -L../libiberty -L../opcodes -L../sim/arm \
           -lbfd -liberty -lopcodes -lsim -lz
CFLAGS=-m64 -DFOR64BITS=1 -DMODET=1 $(INCLUDES) $(LIBS)

.PHONY:	$(LIBDEPS)

all: GdbARMAlien64-regs.st GdbARMAlien64-ctrl.st GdbARMAlien64-vfp.st

GdbARMAlien64-regs.st: printcpu64
	./printcpu64 >GdbARMAlien64-regs.st

GdbARMAlien64-ctrl.st: printcpuctrl64
	./printcpuctrl64 >GdbARMAlien64-ctrl.st

GdbARMAlien64-vfp.st: printcpuvfp64
	./printcpuvfp64 >GdbARMAlien64-vfp.st

clean:
	rm -f GdbARMAlien64-regs.st GdbARMAlien64-vfp.st
	rm -f printcpu64 printcpuctrl64 printcpuvfp64

printcpu64: $(GDBARMEXP)/printcpu.c $(LIBDEPS)
	$(CC) -o $@ $< $(CFLAGS)

printcpuctrl64: $(GDBARMEXP)/printcpuctrl.c $(LIBDEPS)
	$(CC) -o $@ $< $(CFLAGS)

printcpuvfp64: $(GDBARMEXP)/printcpuvfp.c $(LIBDEPS)
	$(CC) -o $@ $< $(CFLAGS)
