# z80 - Z80 emulation # # Copyright (C) 2006 Ian Cowburn (ianc@noddybox.demon.co.uk) # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # ------------------------------------------------------------------------- # # $Id: Makefile,v 1.9 2006-08-28 19:14:59 ianc Exp $ # # This CFLAGS assumes that gcc is being used. # Simply comment out if not, and replace as needed. # Other CFLAGS lines *are* required. # CFLAGS = -g -Wall -Werror -pedantic -ansi -O2 -finline-functions # Decide on what to build. Options are: # emma - Simple 'breadboard' computer. # gemma - Simple 'breadboard' computer with a GUI. # test - Tests built from source using tpasm. # TARGETS = emma #TARGETS += gemma TARGETS += tests # Remove this to disable the disassembler (saving some memory) # CFLAGS += -DENABLE_DISASSEM # Remove the follwing to disable the use of readline in EMMA # CFLAGS += -DENABLE_READLINE LIBS += -lreadline SOURCE = z80.c \ z80_decode.c \ z80_dis.c \ expr.c \ emma.c BASE_O = z80.o \ z80_decode.o \ z80_dis.o \ expr.o EMMA_O = emma.o GEMMA_O = gemma.o all: $(TARGETS) emma: $(BASE_O) $(EMMA_O) cc -o emma $(BASE_O) $(EMMA_O) $(LIBS) gemma: $(BASE_O) $(GEMMA_O) cc `pkg-config --cflags gtk+-2.0` -o gemma $(GBASE_O) $(GEMMA_O) \ `pkg-config --libs gtk+-2.0` tests: emucpm.hex zexdoc.hex zexall.hex emucpm.hex: emucpm.z80 tpasm -P Z80 -o intel emucpm.hex emucpm.z80 zexdoc.hex: zexdoc.z80 tpasm -P Z80 -o text _tmp -o intel zexdoc.hex zexdoc.z80 tail +4 _tmp | awk '{printf("%s 0x%s\n",$$2,$$1);}' > zexdoc.lbl rm -f _tmp zexall.hex: zexall.z80 tpasm -P Z80 -o text _tmp -o intel zexall.hex zexall.z80 tail +4 _tmp | awk '{printf("%s 0x%s\n",$$2,$$1);}' > zexall.lbl rm -f _tmp clean: rm -f emma gemma $(BASE_O) $(EMMA_O) $(GEMMA_O) core *.hex *.lbl depend: makedepend -- $(CFLAGS) -- $(SOURCE) if test -e Makefile ; then rm -f Makefile.bak ; fi # DO NOT DELETE THIS LINE -- make depend depends on it z80.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h z80.o: /usr/include/sys/_null.h /usr/include/sys/_types.h z80.o: /usr/include/machine/_types.h /usr/include/string.h z80.o: /usr/include/strings.h z80.h z80_private.h z80_decode.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h z80_decode.o: /usr/include/sys/_null.h /usr/include/sys/_types.h z80_decode.o: /usr/include/machine/_types.h z80.h z80_private.h z80_dis.o: /usr/include/stdio.h /usr/include/sys/cdefs.h z80_dis.o: /usr/include/sys/_null.h /usr/include/sys/_types.h z80_dis.o: /usr/include/machine/_types.h /usr/include/string.h z80_dis.o: /usr/include/strings.h /usr/include/stdarg.h z80.h z80_private.h expr.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h expr.o: /usr/include/sys/_null.h /usr/include/sys/_types.h expr.o: /usr/include/machine/_types.h /usr/include/stdio.h expr.o: /usr/include/string.h /usr/include/strings.h /usr/include/ctype.h expr.o: /usr/include/_ctype.h /usr/include/runetype.h emma.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h emma.o: /usr/include/sys/_null.h /usr/include/sys/_types.h emma.o: /usr/include/machine/_types.h /usr/include/stdio.h emma.o: /usr/include/string.h /usr/include/strings.h /usr/include/ctype.h emma.o: /usr/include/_ctype.h /usr/include/runetype.h /usr/include/signal.h emma.o: /usr/include/sys/signal.h /usr/include/sys/_sigset.h emma.o: /usr/include/machine/signal.h /usr/include/machine/trap.h emma.o: /usr/include/stdarg.h /usr/include/readline/readline.h emma.o: /usr/include/readline/rlstdc.h /usr/include/readline/rltypedefs.h emma.o: /usr/include/readline/keymaps.h /usr/include/readline/chardefs.h emma.o: /usr/include/readline/tilde.h /usr/include/readline/history.h emma.o: /usr/include/time.h /usr/include/sys/timespec.h z80.h expr.h