Update the license and generate a header file.
Generate z80_instruction_types.h rather than including z80_types.tab.
This commit is contained in:
parent
66bd860a2e
commit
4d0e434589
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,5 +1,5 @@
|
||||
libzel.a
|
||||
include/zel/z80_types.tab
|
||||
include/zel/z80_instruction_types.h
|
||||
*.o
|
||||
doc
|
||||
tables/*.tab
|
||||
|
2
LICENSE
2
LICENSE
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2008 Steve Checkoway
|
||||
Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
49
Makefile
49
Makefile
@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2008 Steve Checkoway
|
||||
# Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
@ -51,7 +51,7 @@ dist_source := z80.c \
|
||||
include/zel/z80.h \
|
||||
include/zel/z80_instructions.h \
|
||||
include/zel/z80_types.h \
|
||||
include/zel/z80_types.tab \
|
||||
include/zel/z80_instruction_types.h \
|
||||
tables/gen.pl \
|
||||
$(spec) \
|
||||
$(itables) \
|
||||
@ -74,11 +74,38 @@ libzel.a: z80.o z80_instructions.o
|
||||
tables/%.tab: tables/%.spec tables/gen.pl
|
||||
perl tables/gen.pl $< > $@
|
||||
|
||||
include/zel/z80_types.tab: $(itables)
|
||||
awk '{ split($$2,a,/_/); sub(/,/,"",a[1]); printf "%s //!< %s\n", $$2, tolower(a[1]) }' \
|
||||
$(itables) |sort|uniq > $@
|
||||
z80.o: z80.c include/zel/z80.h include/zel/z80_instructions.h include/zel/z80_types.h include/zel/z80_types.tab
|
||||
z80_instructions.o: z80_instructions.c include/zel/z80_instructions.h include/zel/z80.h include/zel/z80_types.h include/zel/z80_types.tab $(itables)
|
||||
include/zel/z80_instruction_types.h: $(itables)
|
||||
sed -e '1s,^,/* ,;2,$$s,^, * ,' LICENSE >$@
|
||||
echo ' */' >>$@
|
||||
echo >>$@
|
||||
echo '/*! \\file' >>$@
|
||||
echo ' *' >>$@
|
||||
echo ' * z80 instruction types.' >>$@
|
||||
echo ' * \\author Stephen Checkoway' >>$@
|
||||
echo ' * \\version 0.1' >>$@
|
||||
echo ' * \\date 2008, 2017' >>$@
|
||||
echo ' */' >>$@
|
||||
echo '#ifndef ZEL_Z80_INSTRUCTION_TYPES_H' >>$@
|
||||
echo '#define ZEL_Z80_INSTRUCTION_TYPES_H' >>$@
|
||||
echo >>$@
|
||||
echo '#ifdef __cplusplus' >>$@
|
||||
echo 'extern "C" {' >>$@
|
||||
echo '#endif' >>$@
|
||||
echo >>$@
|
||||
echo 'typedef enum' >>$@
|
||||
echo '{' >>$@
|
||||
awk '{ split($$2,a,/_/); sub(/,/,"",a[1]); printf "\t%s //!< %s\n", $$2, tolower(a[1]) }' \
|
||||
$(itables) |sort|uniq >>$@
|
||||
echo '} InstructionType;' >>$@
|
||||
echo >>$@
|
||||
echo '#ifdef __cplusplus' >>$@
|
||||
echo '}' >>$@
|
||||
echo '#endif' >>$@
|
||||
echo >>$@
|
||||
echo '#endif' >>$@
|
||||
|
||||
z80.o: z80.c include/zel/z80.h include/zel/z80_instructions.h include/zel/z80_types.h include/zel/z80_instruction_types.h
|
||||
z80_instructions.o: z80_instructions.c include/zel/z80_instructions.h include/zel/z80.h include/zel/z80_types.h include/zel/z80_instruction_types.h $(itables)
|
||||
|
||||
check: all
|
||||
$(MAKE) -C tests check
|
||||
@ -93,7 +120,7 @@ clean: doc-clean
|
||||
$(MAKE) -C tests clean
|
||||
$(RM) libzel.a z80.o z80_instructions.o *~
|
||||
|
||||
doc: Doxyfile $(wildcard include/zel/*.h) include/zel/z80_types.tab
|
||||
doc: Doxyfile $(wildcard include/zel/*.h) include/zel/z80_instruction_types.h
|
||||
doxygen
|
||||
|
||||
pdf: doc/$(distname).pdf
|
||||
@ -114,14 +141,14 @@ install:
|
||||
$(INSTALL_DATA) include/zel/z80.h $(DESTDIR)$(includedir)/zel
|
||||
$(INSTALL_DATA) include/zel/z80_instructions.h $(DESTDIR)$(includedir)/zel
|
||||
$(INSTALL_DATA) include/zel/z80_types.h $(DESTDIR)$(includedir)/zel
|
||||
$(INSTALL_DATA) include/zel/z80_types.tab $(DESTDIR)$(includedir)/zel
|
||||
$(INSTALL_DATA) include/zel/z80_instruction_types.h $(DESTDIR)$(includedir)/zel
|
||||
|
||||
uninstall: uninstall-doc
|
||||
$(RM) $(DESTDIR)$(libdir)/libzel.a
|
||||
$(RM) $(DESTDIR)$(includedir)/zel/z80.h
|
||||
$(RM) $(DESTDIR)$(includedir)/zel/z80_instructions.h
|
||||
$(RM) $(DESTDIR)$(includedir)/zel/z80_types.h
|
||||
$(RM) $(DESTDIR)$(includedir)/zel/z80_types.tab
|
||||
$(RM) $(DESTDIR)$(includedir)/zel/z80_instruction_types.h
|
||||
rmdir $(DESTDIR)$(includedir)/zel
|
||||
|
||||
install-doc: install-html install-pdf
|
||||
@ -169,4 +196,4 @@ distcheck: $(distname).tar.gz
|
||||
distclean: clean
|
||||
mostlyclean: clean
|
||||
maintainer-clean: clean
|
||||
$(RM) include/zel/z80_types.tab $(itables)
|
||||
$(RM) include/zel/z80_instruction_types.h $(itables)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2008 Steve Checkoway
|
||||
/* Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
@ -22,9 +22,9 @@
|
||||
/*! \file
|
||||
*
|
||||
* Create and run a z80 processor instance.
|
||||
* \author Steve Checkoway
|
||||
* \author Stephen Checkoway
|
||||
* \version 0.1
|
||||
* \date 2008
|
||||
* \date 2008, 2017
|
||||
*/
|
||||
#ifndef ZEL_Z80_H
|
||||
#define ZEL_Z80_H
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2008 Steve Checkoway
|
||||
/* Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
@ -22,9 +22,9 @@
|
||||
/*! \file
|
||||
*
|
||||
* Functions for decoding and disassembling z80 instructions.
|
||||
* \author Steve Checkoway
|
||||
* \author Stephen Checkoway
|
||||
* \version 0.1
|
||||
* \date 2008
|
||||
* \date 2008, 2017
|
||||
*/
|
||||
#ifndef ZEL_Z80_INSTRUCTIONS_H
|
||||
#define ZEL_Z80_INSTRUCTIONS_H
|
||||
@ -42,6 +42,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#include <zel/z80_types.h>
|
||||
#include <zel/z80_instruction_types.h>
|
||||
|
||||
/*! The type of a z80 instruction. Many z80 instructions are similar
|
||||
* and share a common type. For example, <code>add a,b</code> and
|
||||
@ -59,11 +60,6 @@ extern "C" {
|
||||
* - \c MRR 16 bit paired register used as an address
|
||||
* - \c MNN 16 bit immediate used as an address
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
#include <zel/z80_types.tab>
|
||||
//! \includedoc z80_types.tab
|
||||
} InstructionType;
|
||||
|
||||
#ifndef BYTE_ORDER
|
||||
#error define BYTE_ORDER
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/perl
|
||||
# Copyright (c) 2008 Steve Checkoway
|
||||
# Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2008 Steve Checkoway
|
||||
# Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2008 Steve Checkoway
|
||||
/* Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Written by Steve Checkoway, 2008. Released into the public domain. */
|
||||
/* Written by Stephen Checkoway, 2008, 2017. Released into the public domain. */
|
||||
#include <stdlib.h>
|
||||
#include <z80.h>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2008 Steve Checkoway
|
||||
/* Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Written by Steve Checkoway, 2008. Released into the public domain. */
|
||||
/* Written by Stephen Checkoway, 2008, 2017. Released into the public domain. */
|
||||
#include <stdlib.h>
|
||||
#include <zel/z80.h>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Written by Steve Checkoway, 2008. Released into the public domain. */
|
||||
/* Written by Stephen Checkoway, 2008, 2017. Released into the public domain. */
|
||||
#include <stdlib.h>
|
||||
#include <zel/z80.h>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Written by Steve Checkoway, 2008. Released into the public domain. */
|
||||
/* Written by Stephen Checkoway, 2008, 2017. Released into the public domain. */
|
||||
#include <stdlib.h>
|
||||
#include <zel/z80.h>
|
||||
|
||||
|
2
z80.c
2
z80.c
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2008 Steve Checkoway
|
||||
/* Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (c) 2008 Steve Checkoway
|
||||
/* Copyright (c) 2008, 2017 Stephen Checkoway
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
|
Loading…
Reference in New Issue
Block a user