####################################################################
#  Makefile
#		Cygwin 'GNU make' Version
#		=========================
#
#   6  October  2003
#
####################################################################

ASXXXX =	as430 as740 as1802 as6500	\
		as6800 as6801 as6804 as6805	\
		as6808 as6809 as6811 as6812	\
		as6816 as61860			\
		as8051 as8085			\
		asz80 asgb asrab		\
		as8xcxxx ash8			\
		asavr aspic			\
		ascheck	\
		aslink	\
		asxcnv asxscn
	
####################################################################
# Special
####################################################################

.PHONY:	all clean

all:	$(ASXXXX)

clean:
	rm -f $(ASXXXX)
	rm -f *.exe
	rm -f *.o


####################################################################
# Option Definitions
####################################################################

CC=		gcc
CCOPT=		-O3
CCFLAGS=	-Wall -funsigned-char $(CCOPT)

LD=		gcc
LDFLAGS=	-Wall


####################################################################
# ASXXXX Directories
####################################################################

#  Set ASXBAS relative to this make file.

ASXBAS=		../../../

SRCASX=		$(ASXBAS)asxxsrc/
SRCLNK=		$(ASXBAS)linksrc/
SRCMISC=	$(ASXBAS)asxxmisc/
DSTEXE=		../exe/

SRC430=		$(ASXBAS)as430/
SRC740=		$(ASXBAS)as740/
SRC1802=	$(ASXBAS)as1802/
SRC6500=	$(ASXBAS)as6500/
SRC6800=	$(ASXBAS)as6800/
SRC6801=	$(ASXBAS)as6801/
SRC6804=	$(ASXBAS)as6804/
SRC6805=	$(ASXBAS)as6805/
SRC6808=	$(ASXBAS)as6808/
SRC6809=	$(ASXBAS)as6809/
SRC6811=	$(ASXBAS)as6811/
SRC6812=	$(ASXBAS)as6812/
SRC6816=	$(ASXBAS)as6816/
SRC61860=	$(ASXBAS)as61860/
SRC8051=	$(ASXBAS)as8051/
SRC8085=	$(ASXBAS)as8085/
SRC8xcxxx=	$(ASXBAS)as8xcxxx/
SRCH8=		$(ASXBAS)ash8/
SRCZ80=		$(ASXBAS)asz80/
SRCGB=		$(ASXBAS)asgb/
SRCRAB=		$(ASXBAS)asrab/
SRCAVR=		$(ASXBAS)asavr/
SRCPIC=		$(ASXBAS)aspic/
SRCCHECK=	$(ASXBAS)ascheck/


####################################################################
# ASXXXX ASSEMBLER BASE FILES
####################################################################

ASXX =		asmain.o asdata.o aslex.o asexpr.o	\
		assym.o assubr.o asdbg.o aslist.o	\
		asout.o

asmain.o :	$(SRCASX)asmain.c $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
asdata.o :	$(SRCASX)asdata.c $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
aslex.o  :	$(SRCASX)aslex.c  $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
asexpr.o :	$(SRCASX)asexpr.c $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
assym.o  :	$(SRCASX)assym.c  $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
assubr.o :	$(SRCASX)assubr.c $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
asdbg.o :	$(SRCASX)asdbg.c  $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
aslist.o :	$(SRCASX)aslist.c $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
asout.o  :	$(SRCASX)asout.c  $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)


####################################################################
# AS430
####################################################################

AS430 =		m430adr.o m430ext.o m430pst.o m430mch.o

m430adr.o :	$(SRC430)m430adr.c $(SRC430)m430.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m430ext.o :	$(SRC430)m430ext.c $(SRC430)m430.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m430pst.o :	$(SRC430)m430pst.c $(SRC430)m430.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m430mch.o :	$(SRC430)m430mch.c $(SRC430)m430.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as430 :		$(ASXX) $(AS430)
		$(LD) $(LDFLAGS) -o as430 $(ASXX) $(AS430)
		cp as430.exe $(DSTEXE)as430.exe
		strip $(DSTEXE)as430.exe


####################################################################
# AS740
####################################################################

AS740 =		m74adr.o m74ext.o m74pst.o m74mch.o

m74adr.o :	$(SRC740)m74adr.c $(SRC740)m740.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m74ext.o :	$(SRC740)m74ext.c $(SRC740)m740.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m74pst.o :	$(SRC740)m74pst.c $(SRC740)m740.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m74mch.o :	$(SRC740)m74mch.c $(SRC740)m740.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as740 :		$(ASXX) $(AS740)
		$(LD) $(LDFLAGS) -o as740 $(ASXX) $(AS740)
		cp as740.exe $(DSTEXE)as740.exe
		strip $(DSTEXE)as740.exe


####################################################################
# AS1802
####################################################################

AS1802 =	1802ext.o 1802pst.o 1802mch.o

1802ext.o :	$(SRC1802)1802ext.c $(SRC1802)1802.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
1802pst.o :	$(SRC1802)1802pst.c $(SRC1802)1802.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
1802mch.o :	$(SRC1802)1802mch.c $(SRC1802)1802.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as1802 :	$(ASXX) $(AS1802)
		$(LD) $(LDFLAGS) -o as1802 $(ASXX) $(AS1802)
		cp as1802.exe $(DSTEXE)as1802.exe
		strip $(DSTEXE)as1802.exe


####################################################################
# AS6500
####################################################################

AS6500 =	r65ext.o r65pst.o r65mch.o r65adr.o

r65ext.o :	$(SRC6500)r65ext.c $(SRC6500)r6500.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
r65pst.o :	$(SRC6500)r65pst.c $(SRC6500)r6500.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
r65mch.o :	$(SRC6500)r65mch.c $(SRC6500)r6500.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
r65adr.o :	$(SRC6500)r65adr.c $(SRC6500)r6500.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6500 :	$(ASXX) $(AS6500)
		$(LD) $(LDFLAGS) -o as6500 $(ASXX) $(AS6500)
		cp as6500.exe $(DSTEXE)as6500.exe
		strip $(DSTEXE)as6500.exe


####################################################################
# AS6800
####################################################################

AS6800 =	m00ext.o m00pst.o m00mch.o m00adr.o 

m00ext.o :	$(SRC6800)m00ext.c $(SRC6800)m6800.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m00pst.o :	$(SRC6800)m00pst.c $(SRC6800)m6800.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m00mch.o :	$(SRC6800)m00mch.c $(SRC6800)m6800.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m00adr.o :	$(SRC6800)m00adr.c $(SRC6800)m6800.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6800 :	$(ASXX) $(AS6800)
		$(LD) $(LDFLAGS) -o as6800 $(ASXX) $(AS6800)
		cp as6800.exe $(DSTEXE)as6800.exe
		strip $(DSTEXE)as6800.exe


####################################################################
# AS6801
####################################################################

AS6801 =	m01ext.o m01pst.o m01mch.o m01adr.o 

m01ext.o :	$(SRC6801)m01ext.c $(SRC6801)m6801.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m01pst.o :	$(SRC6801)m01pst.c $(SRC6801)m6801.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m01mch.o :	$(SRC6801)m01mch.c $(SRC6801)m6801.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m01adr.o :	$(SRC6801)m01adr.c $(SRC6801)m6801.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6801 :	$(ASXX) $(AS6801)
		$(LD) $(LDFLAGS) -o as6801 $(ASXX) $(AS6801)
		cp as6801.exe $(DSTEXE)as6801.exe
		strip $(DSTEXE)as6801.exe


####################################################################
# AS6804
####################################################################

AS6804 =	m04ext.o m04pst.o m04mch.o m04adr.o 

m04ext.o :	$(SRC6804)m04ext.c $(SRC6804)m6804.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m04pst.o :	$(SRC6804)m04pst.c $(SRC6804)m6804.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m04mch.o :	$(SRC6804)m04mch.c $(SRC6804)m6804.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m04adr.o :	$(SRC6804)m04adr.c $(SRC6804)m6804.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6804 :	$(ASXX) $(AS6804)
		$(LD) $(LDFLAGS) -o as6804 $(ASXX) $(AS6804)
		cp as6804.exe $(DSTEXE)as6804.exe
		strip $(DSTEXE)as6804.exe


####################################################################
# AS6805
####################################################################

AS6805 =	m05ext.o m05pst.o m05mch.o m05adr.o 

m05ext.o :	$(SRC6805)m05ext.c $(SRC6805)m6805.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m05pst.o :	$(SRC6805)m05pst.c $(SRC6805)m6805.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m05mch.o :	$(SRC6805)m05mch.c $(SRC6805)m6805.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m05adr.o :	$(SRC6805)m05adr.c $(SRC6805)m6805.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6805 :	$(ASXX) $(AS6805)
		$(LD) $(LDFLAGS) -o as6805 $(ASXX) $(AS6805)
		cp as6805.exe $(DSTEXE)as6805.exe
		strip $(DSTEXE)as6805.exe


####################################################################
# AS6808
####################################################################

AS6808 =	m08ext.o m08pst.o m08mch.o m08adr.o 

m08ext.o :	$(SRC6808)m08ext.c $(SRC6808)m6808.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m08pst.o :	$(SRC6808)m08pst.c $(SRC6808)m6808.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m08mch.o :	$(SRC6808)m08mch.c $(SRC6808)m6808.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m08adr.o :	$(SRC6808)m08adr.c $(SRC6808)m6808.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6808 :	$(ASXX) $(AS6808)
		$(LD) $(LDFLAGS) -o as6808 $(ASXX) $(AS6808)
		cp as6808.exe $(DSTEXE)as6808.exe
		strip $(DSTEXE)as6808.exe


####################################################################
# AS6809
####################################################################

AS6809 =	m09ext.o m09pst.o m09mch.o m09adr.o 

m09ext.o :	$(SRC6809)m09ext.c $(SRC6809)m6809.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m09pst.o :	$(SRC6809)m09pst.c $(SRC6809)m6809.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m09mch.o :	$(SRC6809)m09mch.c $(SRC6809)m6809.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m09adr.o :	$(SRC6809)m09adr.c $(SRC6809)m6809.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6809 :	$(ASXX) $(AS6809)
		$(LD) $(LDFLAGS) -o as6809 $(ASXX) $(AS6809)
		cp as6809.exe $(DSTEXE)as6809.exe
		strip $(DSTEXE)as6809.exe


####################################################################
# AS6811
####################################################################

AS6811 =	m11ext.o m11pst.o m11mch.o m11adr.o 

m11ext.o :	$(SRC6811)m11ext.c $(SRC6811)m6811.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m11pst.o :	$(SRC6811)m11pst.c $(SRC6811)m6811.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m11mch.o :	$(SRC6811)m11mch.c $(SRC6811)m6811.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m11adr.o :	$(SRC6811)m11adr.c $(SRC6811)m6811.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6811 :	$(ASXX) $(AS6811)
		$(LD) $(LDFLAGS) -o as6811 $(ASXX) $(AS6811)
		cp as6811.exe $(DSTEXE)as6811.exe
		strip $(DSTEXE)as6811.exe


####################################################################
# AS6812
####################################################################

AS6812 =	m12ext.o m12pst.o m12mch.o m12adr.o 

m12ext.o :	$(SRC6812)m12ext.c $(SRC6812)m6812.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m12pst.o :	$(SRC6812)m12pst.c $(SRC6812)m6812.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m12mch.o :	$(SRC6812)m12mch.c $(SRC6812)m6812.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m12adr.o :	$(SRC6812)m12adr.c $(SRC6812)m6812.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6812 :	$(ASXX) $(AS6812)
		$(LD) $(LDFLAGS) -o as6812 $(ASXX) $(AS6812)
		cp as6812.exe $(DSTEXE)as6812.exe
		strip $(DSTEXE)as6812.exe


####################################################################
# AS6816
####################################################################

AS6816 =	m16ext.o m16pst.o m16mch.o m16adr.o 

m16ext.o :	$(SRC6816)m16ext.c $(SRC6816)m6816.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m16pst.o :	$(SRC6816)m16pst.c $(SRC6816)m6816.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m16mch.o :	$(SRC6816)m16mch.c $(SRC6816)m6816.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
m16adr.o :	$(SRC6816)m16adr.c $(SRC6816)m6816.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as6816 :	$(ASXX) $(AS6816)
		$(LD) $(LDFLAGS) -o as6816 $(ASXX) $(AS6816)
		cp as6816.exe $(DSTEXE)as6816.exe
		strip $(DSTEXE)as6816.exe


####################################################################
# AS61860
####################################################################

AS61860 =	s6186ext.o s6186pst.o s6186mch.o s6186adr.o

s6186ext.o :	$(SRC61860)s6186ext.c $(SRC61860)s61860.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
s6186pst.o :	$(SRC61860)s6186pst.c $(SRC61860)s61860.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
s6186mch.o :	$(SRC61860)s6186mch.c $(SRC61860)s61860.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
s6186adr.o :	$(SRC61860)s6186adr.c $(SRC61860)s61860.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as61860 :	$(ASXX) $(AS61860)
		$(LD) $(LDFLAGS) -o as61860 $(ASXX) $(AS61860)
		cp as61860.exe $(DSTEXE)as61860.exe
		strip $(DSTEXE)as61860.exe


####################################################################
# AS8051
####################################################################

AS8051 =	i51ext.o i51pst.o i51mch.o i51adr.o 

i51ext.o :	$(SRC8051)i51ext.c $(SRC8051)i8051.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
i51pst.o :	$(SRC8051)i51pst.c $(SRC8051)i8051.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
i51mch.o :	$(SRC8051)i51mch.c $(SRC8051)i8051.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
i51adr.o :	$(SRC8051)i51adr.c $(SRC8051)i8051.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as8051 :	$(ASXX) $(AS8051)
		$(LD) $(LDFLAGS) -o as8051 $(ASXX) $(AS8051)
		cp as8051.exe $(DSTEXE)as8051.exe
		strip $(DSTEXE)as8051.exe


####################################################################
# AS8085
####################################################################

AS8085 =	i85ext.o i85pst.o i85mch.o

i85ext.o :	$(SRC8085)i85ext.c $(SRC8085)i8085.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
i85pst.o :	$(SRC8085)i85pst.c $(SRC8085)i8085.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
i85mch.o :	$(SRC8085)i85mch.c $(SRC8085)i8085.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as8085 :	$(ASXX) $(AS8085)
		$(LD) $(LDFLAGS) -o as8085 $(ASXX) $(AS8085)
		cp as8085.exe $(DSTEXE)as8085.exe
		strip $(DSTEXE)as8085.exe


####################################################################
# ASZ80
####################################################################

ASZ80 =		z80ext.o z80pst.o z80mch.o z80adr.o

z80ext.o :	$(SRCZ80)z80ext.c $(SRCZ80)z80.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
z80pst.o :	$(SRCZ80)z80pst.c $(SRCZ80)z80.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
z80mch.o :	$(SRCZ80)z80mch.c $(SRCZ80)z80.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
z80adr.o :	$(SRCZ80)z80adr.c $(SRCZ80)z80.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

asz80 :		$(ASXX) $(ASZ80)
		$(LD) $(LDFLAGS) -o asz80 $(ASXX) $(ASZ80)
		cp asz80.exe $(DSTEXE)asz80.exe
		strip $(DSTEXE)asz80.exe


####################################################################
# ASGB
####################################################################

ASGB =		gbext.o gbpst.o gbmch.o gbadr.o

gbext.o :	$(SRCGB)gbext.c $(SRCGB)gb.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
gbpst.o :	$(SRCGB)gbpst.c $(SRCGB)gb.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
gbmch.o :	$(SRCGB)gbmch.c $(SRCGB)gb.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
gbadr.o :	$(SRCGB)gbadr.c $(SRCGB)gb.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

asgb :		$(ASXX) $(ASGB)
		$(LD) $(LDFLAGS) -o asgb $(ASXX) $(ASGB)
		cp asgb.exe $(DSTEXE)asgb.exe
		strip $(DSTEXE)asgb.exe


####################################################################
# ASRAB
####################################################################

ASRAB =		rabext.o rabpst.o rabmch.o rabadr.o

rabext.o :	$(SRCRAB)rabext.c $(SRCRAB)rab.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
rabpst.o :	$(SRCRAB)rabpst.c $(SRCRAB)rab.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
rabmch.o :	$(SRCRAB)rabmch.c $(SRCRAB)rab.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
rabadr.o :	$(SRCRAB)rabadr.c $(SRCRAB)rab.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

asrab :		$(ASXX) $(ASRAB)
		$(LD) $(LDFLAGS) -o asrab $(ASXX) $(ASRAB)
		cp asrab.exe $(DSTEXE)asrab.exe
		strip $(DSTEXE)asrab.exe


####################################################################
# AS8xcxxx
####################################################################

AS8xcxxx =	ds8ext.o ds8pst.o ds8mch.o ds8adr.o

ds8ext.o :	$(SRC8xcxxx)ds8ext.c $(SRC8xcxxx)ds8.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
ds8pst.o :	$(SRC8xcxxx)ds8pst.c $(SRC8xcxxx)ds8.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
ds8mch.o :	$(SRC8xcxxx)ds8mch.c $(SRC8xcxxx)ds8.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
ds8adr.o :	$(SRC8xcxxx)ds8adr.c $(SRC8xcxxx)ds8.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

as8xcxxx :	$(ASXX) $(AS8xcxxx)
		$(LD) $(LDFLAGS) -o as8xcxxx $(ASXX) $(AS8xcxxx)
		cp as8xcxxx.exe $(DSTEXE)as8xcxxx.exe
		strip $(DSTEXE)as8xcxxx.exe


####################################################################
# ASH8
####################################################################

ASH8 =		h8ext.o h8pst.o h8mch.o h8adr.o

h8ext.o :	$(SRCH8)h8ext.c $(SRCH8)h8.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
h8pst.o :	$(SRCH8)h8pst.c $(SRCH8)h8.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
h8mch.o :	$(SRCH8)h8mch.c $(SRCH8)h8.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
h8adr.o :	$(SRCH8)h8adr.c $(SRCH8)h8.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

ash8 :		$(ASXX) $(ASH8)
		$(LD) $(LDFLAGS) -o ash8 $(ASXX) $(ASH8)
		cp ash8.exe $(DSTEXE)ash8.exe
		strip $(DSTEXE)ash8.exe


####################################################################
# ASAVR
####################################################################

ASAVR =		avrext.o avrpst.o avrmch.o avradr.o

avrext.o :	$(SRCAVR)avrext.c $(SRCAVR)avr.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
avrpst.o :	$(SRCAVR)avrpst.c $(SRCAVR)avr.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
avrmch.o :	$(SRCAVR)avrmch.c $(SRCAVR)avr.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
avradr.o :	$(SRCAVR)avradr.c $(SRCAVR)avr.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

asavr :		$(ASXX) $(ASAVR)
		$(LD) $(LDFLAGS) -o asavr $(ASXX) $(ASAVR)
		cp asavr.exe $(DSTEXE)asavr.exe
		strip $(DSTEXE)asavr.exe


####################################################################
# ASPIC
####################################################################

ASPIC =		picext.o picpst.o picmch.o picadr.o

picext.o :	$(SRCPIC)picext.c $(SRCPIC)pic.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
picpst.o :	$(SRCPIC)picpst.c $(SRCPIC)pic.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
picmch.o :	$(SRCPIC)picmch.c $(SRCPIC)pic.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
picadr.o :	$(SRCPIC)picadr.c $(SRCPIC)pic.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

aspic :		$(ASXX) $(ASPIC)
		$(LD) $(LDFLAGS) -o aspic $(ASXX) $(ASPIC)
		cp aspic.exe $(DSTEXE)aspic.exe
		strip $(DSTEXE)aspic.exe


####################################################################
# ASCHECK
####################################################################

ASCHECK =		chkext.o chkpst.o chkmch.o chkadr.o

chkext.o :	$(SRCCHECK)chkext.c $(SRCCHECK)chk.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
chkpst.o :	$(SRCCHECK)chkpst.c $(SRCCHECK)chk.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
chkmch.o :	$(SRCCHECK)chkmch.c $(SRCCHECK)chk.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)
chkadr.o :	$(SRCCHECK)chkadr.c $(SRCCHECK)chk.h $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

ascheck :	$(ASXX) $(ASCHECK)
		$(LD) $(LDFLAGS) -o ascheck $(ASXX) $(ASCHECK)
		cp ascheck.exe $(DSTEXE)ascheck.exe
		strip $(DSTEXE)ascheck.exe


####################################################################
# ASLINK
####################################################################

ASLINK =	lkmain.o lkarea.o lkdata.o lkeval.o	\
		lkhead.o lklex.o lklibr.o lklist.o	\
		lkrloc.o lkrloc3.o lkrloc4.o lksym.o	\
		lknoice.o lksdcdb.o lkbank.o lkout.o

lkmain.o :	$(SRCLNK)lkmain.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkhead.o :	$(SRCLNK)lkhead.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkarea.o :	$(SRCLNK)lkarea.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lklex.o  :	$(SRCLNK)lklex.c  $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lksym.o  :	$(SRCLNK)lksym.c  $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkeval.o :	$(SRCLNK)lkeval.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkdata.o :	$(SRCLNK)lkdata.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lklibr.o :	$(SRCLNK)lklibr.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lklist.o :	$(SRCLNK)lklist.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkrloc.o :	$(SRCLNK)lkrloc.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkrloc3.o :	$(SRCLNK)lkrloc3.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkrloc4.o :	$(SRCLNK)lkrloc4.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lknoice.o :	$(SRCLNK)lknoice.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lksdcdb.o :	$(SRCLNK)lksdcdb.c $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkbank.o  :	$(SRCLNK)lkbank.c  $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)
lkout.o  :	$(SRCLNK)lkout.c  $(SRCLNK)aslink.h
		$(CC) $(CCFLAGS) -I$(SRCMISC) -c $< -o $(@F)

aslink :	$(ASLINK)
		$(LD) $(LDFLAGS) -o aslink $(ASLINK)
		cp aslink.exe $(DSTEXE)aslink.exe
		strip $(DSTEXE)aslink.exe


####################################################################
# ASXCNV
####################################################################

ASXCNV =	asxxconv.o

asxxconv.o :	$(SRCMISC)asxxconv.c $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

asxcnv :	$(ASXCNV)
		$(LD) $(LDFLAGS) -o asxcnv $(ASXCNV)
		cp asxcnv.exe $(DSTEXE)asxcnv.exe
		strip $(DSTEXE)asxcnv.exe


####################################################################
# ASXSCN
####################################################################

ASXSCN =	asxxscan.o

asxxscan.o :	$(SRCMISC)asxxscan.c $(SRCASX)asxxxx.h
		$(CC) $(CCFLAGS) -I$(SRCASX) -I$(SRCMISC) -c $< -o $(@F)

asxscn :	$(ASXSCN)
		$(LD) $(LDFLAGS) -o asxscn $(ASXSCN)
		cp asxscn.exe $(DSTEXE)asxscn.exe
		strip $(DSTEXE)asxscn.exe


### end #########################################################
