LFB_ADT_SRCDIR=$(LFB_SRCDIR)/adtlib
LFB_ADT_BUILDDIR=$(LFB_BUILDDIR)/adtlib
LFB_ADT_DIRFILE=$(LFB_BUILDDIR)/adtlib/.directory

$(LFB_ADT_DIRFILE): $(LFB_DIRFILE) $(LFB_ADT_SRCDIR)/Makefile
	@echo [mkdir] $(LFB_ADT_BUILDDIR)
	@mkdir -p $(LFB_ADT_BUILDDIR)
	@touch $(LFB_ADT_DIRFILE)

#include $(LFB_ADT_SRCDIR)/mos/Makefile

LFB_LIBFILES += $(LFB_ADT_BUILDDIR)/hashable.o
LFB_LIBFILES += $(LFB_ADT_BUILDDIR)/hashmap.o
LFB_LIBFILES += $(LFB_ADT_BUILDDIR)/keyvaluepair.o
LFB_LIBFILES += $(LFB_ADT_BUILDDIR)/linkedlist.o
LFB_LIBFILES += $(LFB_ADT_BUILDDIR)/linkedlistitem.o
LFB_LIBFILES += $(LFB_ADT_BUILDDIR)/mcconv.o
LFB_LIBFILES += $(LFB_ADT_BUILDDIR)/mcobject.o

$(LFB_ADT_BUILDDIR)/%.o: $(LFB_ADT_SRCDIR)/%.c $(LFB_ADT_DIRFILE)
	@echo [$(CC)] $@
	@$(CC) $(CCPARMS) $(CFLAGS) $< -o $@

$(LFB_ADT_BUILDDIR)/%.o: $(LFB_ADT_SRCDIR)/%.s $(LFB_ADT_DIRFILE)
	@echo [$(GAS)] $@
	@$(GAS) $(GASPARMS)  $< -o $@

$(LFB_ADT_BUILDDIR)/%.o: $(LFB_ADT_SRCDIR)/%.asm $(LFB_ADT_DIRFILE)
	@echo [$(AS)] $@
	@$(AS) $(ASPARMS) $< -o $@

$(LFB_ADT_BUILDDIR)/%.o: $(LFB_ADT_SRCDIR)/%.bas $(LFB_ADT_DIRFILE)
	@echo [$(FB)] $@
	@$(FB) $(FBPARMS) $< -o $@

$(LFB_ADT_BUILDDIR)/%.o: $(LFB_ADT_SRCDIR)/$(ARCH)-$(TYPE)/%.c $(LFB_ADT_DIRFILE)
	@echo [$(CC)] $@
	@$(CC) $(CCPARMS) $(CFLAGS)  $< -o $@

$(LFB_ADT_BUILDDIR)/%.c: $(LFB_ADT_SRCDIR)/%.bas $(LFB_ADT_DIRFILE)
	@echo [$(FB)] $@
	$(HOSTFB) $(HOSTFBPARMS) $< -o $@ -gen gcc

$(LFB_ADT_BUILDDIR)/%.ho: $(LFB_ADT_BUILDDIR)/%.c $(LFB_ADT_DIRFILE)
	@echo [$(HOSTCC)] $@
	$(HOSTCC) $(HOSTCCCPARMS) $< -o $@

$(LFB_ADT_BUILDDIR)/%.ho: $(LFB_ADT_SRCDIR)/%.c $(LFB_ADT_DIRFILE)
	@echo [$(HOSTCC)] $@
	$(HOSTCC) $(HOSTCCCPARMS) $< -o $@

