M_S_SRCDIR=$(M_SRCDIR)/storage
M_S_BUILDDIR=$(M_BUILDDIR)/storage
M_S_DIRFILE=$(M_S_BUILDDIR)/.directory

$(M_S_DIRFILE): $(BUILDROOT)/.directory $(M_S_SRCDIR)/Makefile
	@echo [mkdir] $(M_S_BUILDDIR)
	@mkdir -p $(M_S_BUILDDIR)
	@touch $@

$(M_S_BUILDDIR)/atactl.o: $(M_S_SRCDIR)/atadef.bi

$(M_S_BUILDDIR)/%.o: $(M_S_SRCDIR)/%.asm $(M_S_DIRFILE)
	@echo [$(AS)] $@
	@$(AS) $(ASPARMS) $< -o $@

$(M_S_BUILDDIR)/%.o: $(M_S_SRCDIR)/%.c $(M_S_DIRFILE)
	@echo [$(CC)] $@
	@$(CC) $(CCPARMS) $(CFLAGS)  $< -o $@

$(M_S_BUILDDIR)/%.o: $(M_S_SRCDIR)/%.bas $(M_S_DIRFILE)
	@echo [$(FB)] $@
	@$(FB) $(FBPARMS) $< -o $@

$(M_S_BUILDDIR)/%.c: $(M_S_SRCDIR)/%.bas $(M_S_DIRFILE)
	@echo [$(FB)] $@
	$(HOSTFB) $(HOSTFBPARMS) $< -o $@ -gen gcc

$(M_S_BUILDDIR)/%.bas: $(M_S_SRCDIR)/%.idl $(I_BUILDDIR)/%.bi $(M_S_DIRFILE) $(BUILDROOT)/modules/libos/idlgen
	@echo [idlgen-bas] $@
	@$(BUILDROOT)/modules/libos/idlgen bas $< $@

$(I_BUILDDIR)/%.bi: $(M_S_SRCDIR)/%.idl $(M_S_DIRFILE) $(BUILDROOT)/modules/libos/idlgen
	@echo [idlgen-bi] $@
	@$(BUILDROOT)/modules/libos/idlgen bi $< $@

$(M_S_BUILDDIR)/%.o: $(M_S_BUILDDIR)/%.bas $(M_S_DIRFILE)
	@echo [$(FB)] $@
	@$(FB) $(FBPARMS) $< -o $@

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

$(M_S_BUILDDIR)/atadisk.o: $(M_S_SRCDIR)/scheduler.bi $(M_S_SRCDIR)/atadef.bi
$(M_S_BUILDDIR)/atactl.o: $(M_S_SRCDIR)/atadef.bi
$(M_S_BUILDDIR)/simplesched.o: $(M_S_SRCDIR)/scheduler.bi
$(M_S_BUILDDIR)/dospart.o: $(M_S_SRCDIR)/roottrace.bi
$(M_S_BUILDDIR)/roottrace.o: $(M_S_SRCDIR)/roottrace.bi
