all: mkeyb.asm \
	 mkeybGR.exe mkeybGRc.exe \
	 mkeybSP.exe \
	 mkeybNL.exe \
	 mkeybRU.exe \
	 mkeybUK.exe \
	 mkeybSV.exe \
	 mkeybSU.exe \
	 mkeybDK.exe \
	 mkeybNO.exe \
	 mkeybPO.exe \
	 mkeybIT.exe \
	 mkeybLA.exe \
	 mkeybSF.exe \
	 mkeybSG.exe \
	 mkeybPL.exe \



TCCLINK=$(TCC) -lm -O -Z -g1
TCCCOMP=$(TCC) -c  -O -Z -g1


#
# each language gets 2 binaries:
# the miniminimum 'mkeybXX.exe'
# and additional  'mkeybXXc.exe' with additional COMBI characters
#


depends=prf.obj  mKEYBA.obj mkeybR.obj
combidepends=prf.obj mKEYBA.obj mkeybRC.obj
redudepends=prf.obj mKEYBA.obj  mkeybRR.obj



#
# GERMAN
#
mkeybGR.exe: mkeyb.c keydefGR.h $(depends)
	$(TCCLINK) -emkeybGR  -DLANG_GR         mKEYB.c $(depends)
	$(XUPX) mkeybgr.exe


# GERMAN+COMBI ( '`^ + AEIOU )

mkeybGRc.exe: mkeyb.c keydefGR.h $(combidepends)
	$(TCCLINK) -emkeybGRc -DLANG_GR -DCOMBI mKEYB.c $(combidepends)
	$(XUPX) mkeybGRc.exe


#
# SPANISH CATALAN = SPANISH+COMBI ( '`^ + AEIOU )
#
mkeybSP.exe: mkeyb.c keydefSP.h $(combidepends)
	$(TCCLINK) -emkeybSP -DLANG_SP -DCOMBI mKEYB.c $(combidepends)
	$(XUPX) mkeybSP.exe


#
# DUTCH = NETHERLANDS (NL), no COMBI's
#
mkeybNL.exe: mkeyb.c keydefNL.h $(depends)
	$(TCCLINK) -emkeybNL -DLANG_NL mKEYB.c $(depends)
	$(XUPX) mkeybNL.exe

#
# RUSSIA (RU), no COMBI's, uses REDUCED driver (no decidings,altgrey,replace)
#
mkeybRU.exe: mkeyb.c keydefRU.h $(redudepends)
	$(TCCLINK) -emkeybRU -DLANG_RU mKEYB.c $(redudepends)
	$(XUPX) mkeybRU.exe



#
# United Kingdom (UK), no COMBI's
#
mkeybUK.exe: mkeyb.c keydefUK.h $(depends)
	$(TCCLINK) -emkeybUK -DLANG_UK mKEYB.c $(depends)
	$(XUPX) mkeybUK.exe

#
# Sweden (SV), no COMBI's
#
mkeybSV.exe: mkeyb.c keydefSV.h $(depends)
	$(TCCLINK) -emkeybSV -DLANG_SV mKEYB.c $(depends)
	$(XUPX) mkeybSV.exe

#
# finnish(SU), no COMBI's
#
mkeybSU.exe: mkeyb.c keydefSU.h $(depends)
	$(TCCLINK) -emkeybSU -DLANG_SU mKEYB.c $(depends)
	$(XUPX) mkeybSU.exe

#
# daenish(DK), no COMBI's
#
mkeybDK.exe: mkeyb.c keydefDK.h $(depends)
	$(TCCLINK) -emkeybDK -DLANG_DK mKEYB.c $(depends)
	$(XUPX) mkeybDK.exe

#
# norvegian(NO), no COMBI's
#
mkeybNO.exe: mkeyb.c keydefNO.h $(depends)
	$(TCCLINK) -emkeybNO -DLANG_NO mKEYB.c $(depends)
	$(XUPX) mkeybNO.exe

#
# polish   (PO), no COMBI's
#
mkeybPO.exe: mkeyb.c keydefPO.h $(depends)
	$(TCCLINK) -emkeybPO -DLANG_PO mKEYB.c $(depends)
	$(XUPX) mkeybPO.exe


#
# italy    (IT), no COMBI's
#
mkeybIT.exe: mkeyb.c keydefIT.h $(depends)
	$(TCCLINK) -emkeybIT -DLANG_IT mKEYB.c $(depends)
	$(XUPX) mkeybIT.exe

#
# Latin America (LA), needs COMBI's
#
mkeybLA.exe: mkeyb.c keydefLA.h $(combidepends)
	$(TCCLINK) -emkeybLA -DLANG_LA mKEYB.c $(combidepends)
	$(XUPX) mkeybLA.exe

#
# swiss french (SF), needs no COMBI's
#
mkeybSF.exe: mkeyb.c keydefSF.h $(depends)
	$(TCCLINK) -emkeybSF -DLANG_SF mKEYB.c $(depends)
	$(XUPX) mkeybSF.exe

#
# swiss german (SG), needs no COMBI's
#
mkeybSG.exe: mkeyb.c keydefSG.h $(depends)
	$(TCCLINK) -emkeybSG -DLANG_SG mKEYB.c $(depends)
	$(XUPX) mkeybSG.exe


#
# polish (PL), no COMBI's
#
mkeybPL.exe: mkeyb.c keydefPL.h $(depends)
	$(TCCLINK) -emkeybPL -DLANG_PL mKEYB.c $(depends)
	$(XUPX) mkeybPL.exe




# ############## generic ##########################
#
# for all languages same:
#


#
#assembly stub
#
mkeybA.obj: mkeybA.ASM
	$(XNASM) mKEYBA.asm -fobj

#
# resident part
#

mkeybr.obj: mkeybr.c
	$(TCCCOMP) -mt    -zAINIT -zCI_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP    mKEYBr.c
	$(TCCCOMP) -mt -S -zAINIT -zCI_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP    mKEYBr.c

#
# resident part with combiES
#
mkeybrC.obj: mkeybr.c
	$(TCCCOMP) -mt    -zAINIT -zCI_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP    -DCOMBI -omkeybrC mKEYBr.c
	$(TCCCOMP) -mt -S -zAINIT -zCI_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP    -DCOMBI -omkeybrC mKEYBr.c

#
# REDUCED resident part without ALTGREY, REPLACESCAN,DECIMALDINGSBUMS
#
mkeybrr.obj: mkeybr.c
	$(TCCCOMP) -mt    -zAINIT -zCI_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP    -DREDUCED -omkeybrR mKEYBr.c
	$(TCCCOMP) -mt -S -zAINIT -zCI_TEXT -zDIB -zRID -zTID -zPI_GROUP -zBIB -zGI_GROUP -zSI_GROUP    -DREDUCED -omkeybrR mKEYBr.c


prf.obj: prf.c
	$(TCCCOMP) -DFORSYS prf.c

sscani.obj: sscani.c
	$(TCCCOMP) sscani.c


#useful when debugging/analysing code
mkeyb.asm: mkeyb.c keydefGR.h $(depends)
	$(TCCCOMP) -S -DLANG_GR mKEYB.c


# ############## end generic ##########################
