1# optional CFLAGS include: -O -g -Wall 2# -DNO_LARGE_SWITCH compiler cannot handle really big switch statements 3# so break them into smaller pieces 4# -DLITTLE_ENDIAN machine's byte-sex is like x86 instead of 68k 5# -DPOSIX_TTY use Posix termios instead of older termio (FreeBSD) 6# -DMEM_BREAK support memory-mapped I/O and breakpoints, 7# which will noticably slow down emulation 8 9ifeq ($(OS),Windows_NT) 10 EXE := .exe 11else 12 EXE := 13endif 14 15CC ?= gcc 16CFLAGS = -g -pipe -Wall -DPOSIX_TTY -DLITTLE_ENDIAN -DMEM_BREAK 17LDFLAGS = 18 19FILES = README.md Makefile A-Hdrive B-Hdrive cpmws.png \ 20 bdos.c bios.c cpm.c cpmdisc.h defs.h disassem.c main.c vt.c vt.h z80.c \ 21 bye.mac getunix.mac putunix.mac cpmtool.c 22 23OBJS = bios.o \ 24 disassem.o \ 25 main.o \ 26 vt.o \ 27 bdos.o \ 28 z80.o 29 30all: cpm$(EXE) cpmtool$(EXE) 31 32cpmtool$(EXE): cpmtool.o 33 $(CC) $(CFLAGS) $(LDFLAGS) -o cpmtool$(EXE) cpmtool.o 34 35cpm$(EXE): $(OBJS) 36 $(CC) $(CFLAGS) $(LDFLAGS) -o cpm$(EXE) $(OBJS) 37 38 39bios.o: bios.c defs.h cpmdisc.h cpm.c 40z80.o: z80.c defs.h 41disassem.o: disassem.c defs.h 42main.o: main.c defs.h 43 44clean: 45 rm -f cpm$(EXE) cpmtool$(EXE) *.o *~ 46 47tags: $(FILES) 48 cxxtags *.[hc] 49 50tar: 51 tar -zcf cpm.tgz $(FILES) 52 53files: 54 @echo $(FILES) 55 56difflist: 57 @for f in $(FILES); do rcsdiff -q $$f >/dev/null || echo $$f; done 58