# Makefile for Apout PDP-11 application emulator # # $Revision: 1.31 $ # $Date: 2008/05/19 13:42:39 $ # # You will need gcc if you choose the optimised compile below CC?=gcc # Set this to either PDP11 or Z180 or M6502 CPU=M6502 # Set the CFLAGS, LDFLAGS for speed or debugging. If you don't want 2.11BSD # emulation, then remove the -DEMU211 flag. # Set up the LIBS if required for your system # # These flags for doing debugging #APOUT_OPTIONS?= -DEMU211 -DEMUV1 -DNATIVES -DRUN_V1_RAW \ -DDEBUG -DZERO_MEMORY -DWRITEBASE # These flags should be fine for most cases APOUT_OPTIONS?= -DNATIVES -DDEBUG ifeq ($(CPU),PDP11) APOUT_OPTIONS+= -DEMU211 -DEMUV1 endif # These flags for speed #CFLAGS+= -DEMU211 -DNATIVES -DINLINE=inline -O2 -Winline -Wall \ # -finline-functions -fomit-frame-pointer #LDFLAGS?= # Assemble CFLAGS CFLAGS?= -O2 -I. -DINLINE=inline -DCPU_$(CPU) -finline-functions \ -fomit-frame-pointer CFLAGS+=-Winline -Wunused-result # silence warnings CFLAGS+= $(APOUT_OPTIONS) # Any extra libraries required LIBS= -lm # Install destinations PREFIX?=/usr/local MANDIR=$(PREFIX)/man/man1 BINDIR=$(PREFIX)/bin VERSION= apout2.3beta1 SRCS= aout.c aout.h main.c \ v7trap.c bsdtrap.c defines.h v7trap.h \ bsdtrap.h bsd_ioctl.c bsd_signal.c magic.c v1trap.c v1trap.h PDP11_SRCS= pdp11/cpu.c pdp11/branch.c pdp11/double.c pdp11/ea.c pdp11/itab.c \ pdp11/ke11a.c pdp11/single.c pdp11/fp.c pdp11/debug.c Z180_SRCS= z180/cpu.c z180/cpu.h z180/debugger.h z180/emu.h z180/logmacro.h \ z180/z180.c z180/z180cb.inc z180/z180dasm.c z180/z180dasm.h \ z180/z180dd.inc z180/z180ed.inc z180/z180fd.inc z180/z180.h \ z180/z180op.inc z180/z180ops.inc z180/z180tbl.inc z180/z180xy.inc M6502_SRCS= m6502/cpu.c m6502/cpu.h m6502/emu.h \ m6502/m6502.c m6502/m6502d.c m6502/m6502d.h m6502/m6502d.inc \ m6502/m6502.h m6502/m6502.inc m6502/m65c02.c m6502/m65c02d.c \ m6502/m65c02d.h m6502/m65c02d.inc m6502/m65c02.h m6502/m65c02.inc OBJS= aout.o bsd_ioctl.o bsd_signal.o bsdtrap.o \ magic.o main.o \ v7trap.o ifeq ($(CPU),PDP11) OBJS+= v1trap.o pdp11/branch.o pdp11/cpu.o pdp11/debug.o \ pdp11/double.o pdp11/ea.o pdp11/fp.o pdp11/itab.o pdp11/ke11a.o \ pdp11/single.o else ifeq ($(CPU),Z180) OBJS+= z180/cpu.o z180/z180.o z180/z180dasm.o else ifeq ($(CPU),M6502) OBJS+= m6502/cpu.o m6502/m6502.o m6502/m6502d.o endif apout: $(OBJS) $(CC) $(LDFLAGS) $(OBJS) -o apout $(LIBS) install: apout apout.1 cp apout $(BINDIR) chmod 755 $(BINDIR)/apout cp apout.1 $(MANDIR) chmod 644 $(MANDIR)/apout.1 clean: rm -rf apout *core $(OBJS) *.dbg $(VERSION) $(VERSION).tar.gz apout.0 apout.0: apout.1 nroff -man apout.1 > apout.0 indent: $(SRCS) $(PDP11_SRCS) astyle --style=kr $(SRCS) $(PDP11_SRCS) disttar: clean apout.0 - mkdir $(VERSION) cp $(SRCS) $(VERSION) cp $(PDP11_SRCS) $(VERSION)/pdp11 cp $(Z180_SRCS) $(VERSION)/z180 chmod -R go+rX $(VERSION) chmod -R u+w $(VERSION) chown -R wkt $(VERSION) tar vzcf $(VERSION).tar.gz $(VERSION) # Dependencies for object files aout.o: aout.c defines.h pdp11/cpu.h z180/cpu.h aout.h Makefile pdp11/branch.o: pdp11/branch.c defines.h pdp11/cpu.h Makefile bsd_ioctl.o: bsd_ioctl.c defines.h pdp11/cpu.h z180/cpu.h Makefile bsd_signal.o: bsd_signal.c defines.h pdp11/cpu.h z180/cpu.h bsdtrap.h Makefile bsdtrap.o: bsdtrap.c bsdtrap.h defines.h pdp11/cpu.h z180/cpu.h Makefile pdp11/cpu.o: pdp11/cpu.c defines.h pdp11/cpu.h Makefile pdp11/debug.o: pdp11/debug.c defines.h pdp11/cpu.h Makefile pdp11/double.o: pdp11/double.c defines.h pdp11/cpu.h Makefile pdp11/ea.o: pdp11/ea.c defines.h pdp11/cpu.h Makefile pdp11/fp.o: pdp11/fp.c defines.h pdp11/cpu.h Makefile pdp11/itab.o: pdp11/itab.c defines.h pdp11/cpu.h Makefile pdp11/ke11a.o: pdp11/ke11a.c defines.h pdp11/cpu.h Makefile magic.o: magic.c defines.h pdp11/cpu.h z180/cpu.h Makefile main.o: main.c defines.h pdp11/cpu.h z180/cpu.h Makefile pdp11/single.o: pdp11/single.c defines.h pdp11/cpu.h Makefile v1trap.o: v1trap.c v1trap.h defines.h pdp11/cpu.h z180/cpu.h Makefile v7trap.o: v7trap.c v7trap.h defines.h pdp11/cpu.h z180/cpu.h Makefile z180/cpu.o: z180/cpu.c defines.h z180/cpu.h z180/z180.h z180/z180dasm.h \ Makefile z180/z180.o: z180/z180.c z180/z180ops.inc z180/z180tbl.inc z180/z180cb.inc \ z180/z180xy.inc z180/z180dd.inc z180/z180fd.inc z180/z180ed.inc \ z180/z180op.inc z180/z180.h z180/debugger.h z180/emu.h \ z180/logmacro.h Makefile z180/z180dasm.o: z180/z180dasm.c z180/z180dasm.h z180/debugger.h z180/emu.h \ z180/logmacro.h Makefile m6502/cpu.o: m6502/cpu.c defines.h m6502/emu.h m6502/m6502.h m6502/m6502.o: m6502/m6502.c m6502/emu.h m6502/debugger.h m6502/m6502.h \ m6502/m6502d.h m6502/m6502.inc m6502/m6502d.o: m6502/m6502d.c m6502/emu.h m6502/m6502d.h m6502/m6502d.inc