# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_SPEAKUP_SYNTH_ACNTSA) += speakup_acntsa.o
obj-$(CONFIG_SPEAKUP_SYNTH_ACNTPC) += speakup_acntpc.o
obj-$(CONFIG_SPEAKUP_SYNTH_APOLLO) += speakup_apollo.o
obj-$(CONFIG_SPEAKUP_SYNTH_AUDPTR) += speakup_audptr.o
obj-$(CONFIG_SPEAKUP_SYNTH_BNS) += speakup_bns.o
obj-$(CONFIG_SPEAKUP_SYNTH_DECTLK) += speakup_dectlk.o
obj-$(CONFIG_SPEAKUP_SYNTH_DECEXT) += speakup_decext.o
obj-$(CONFIG_SPEAKUP_SYNTH_DECPC) += speakup_decpc.o
obj-$(CONFIG_SPEAKUP_SYNTH_DTLK) += speakup_dtlk.o
obj-$(CONFIG_SPEAKUP_SYNTH_KEYPC) += speakup_keypc.o
obj-$(CONFIG_SPEAKUP_SYNTH_LTLK) += speakup_ltlk.o
obj-$(CONFIG_SPEAKUP_SYNTH_SOFT) += speakup_soft.o
obj-$(CONFIG_SPEAKUP_SYNTH_SPKOUT) += speakup_spkout.o
obj-$(CONFIG_SPEAKUP_SYNTH_TXPRT) += speakup_txprt.o
obj-$(CONFIG_SPEAKUP_SYNTH_DUMMY) += speakup_dummy.o

obj-$(CONFIG_SPEAKUP) += speakup.o
speakup-y := \
	buffers.o \
	devsynth.o \
	i18n.o \
	fakekey.o \
	main.o \
	keyhelp.o \
	kobjects.o \
	selection.o \
	spk_ttyio.o \
	synth.o \
	thread.o \
	varhandlers.o
speakup-$(CONFIG_SPEAKUP_SERIALIO) += serialio.o


clean-files := mapdata.h speakupmap.h


# Generate mapdata.h from headers
hostprogs += makemapdata
makemapdata-objs := makemapdata.o

quiet_cmd_mkmap = MKMAP   $@
      cmd_mkmap = TOPDIR=$(srctree) \
		  SPKDIR=$(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD),$(srctree)/drivers/accessibility/speakup) \
		  $(obj)/makemapdata > $@

$(obj)/mapdata.h: $(obj)/makemapdata
	$(call cmd,mkmap)


# Generate speakupmap.h from mapdata.h
hostprogs += genmap
genmap-objs := genmap.o
$(obj)/genmap.o: $(obj)/mapdata.h

quiet_cmd_genmap = GENMAP  $@
      cmd_genmap = $(obj)/genmap $< > $@

$(obj)/speakupmap.h: $(src)/speakupmap.map $(obj)/genmap
	$(call cmd,genmap)

$(obj)/main.o: $(obj)/speakupmap.h