LU_ENV_SRCDIR=$(LU_SRCDIR)/environment
LU_ENV_BUILDDIR=$(LU_BUILDDIR)/environment
LU_ENV_DIRFILE=$(LU_BUILDDIR)/environment/.directory

$(LU_ENV_DIRFILE): $(LU_DIRFILE) $(LU_ENV_SRCDIR)/Makefile
	@echo [mkdir] $(LU_ENV_BUILDDIR)
	@mkdir -p $(LU_ENV_BUILDDIR)
	@touch $(LU_ENV_DIRFILE)

LU_LIBFILES += $(LU_ENV_BUILDDIR)/buf_enter.o
LU_LIBFILES += $(LU_ENV_BUILDDIR)/buf_exit.o
LU_LIBFILES += $(LU_ENV_BUILDDIR)/cb_enter.o
LU_LIBFILES += $(LU_ENV_BUILDDIR)/cb_exit.o
LU_LIBFILES += $(LU_ENV_BUILDDIR)/cb_park.o
LU_LIBFILES += $(LU_ENV_BUILDDIR)/cb_system.o
LU_LIBFILES += $(LU_ENV_BUILDDIR)/region_enter.o
LU_LIBFILES += $(LU_ENV_BUILDDIR)/region_exit.o
#LU_LIBFILES += $(LU_ENV_BUILDDIR)/mei_call.o
LU_LIBFILES += $(LU_ENV_BUILDDIR)/udistuff.o

include $(LU_ENV_SRCDIR)/Makefile.$(LIBUDIPLATFORM)

$(LU_ENV_BUILDDIR)/%.o: $(LU_ENV_SRCDIR)/%.c $(LU_ENV_DIRFILE)
	@echo [$(CC)] $@
	@$(CC) $(CCPARMS) $(CFLAGS) $(LU_INCLUDE) $< -o $@

$(LU_ENV_BUILDDIR)/%.o: $(LU_ENV_SRCDIR)/%.bas $(LU_ENV_DIRFILE)
	@echo [$(FB)] $@
	@$(FB) $(FBPARMS) $(LU_INCLUDE_B) $< -o $@

$(LU_ENV_BUILDDIR)/%.o: $(LU_ENV_SRCDIR)/%.asm $(LU_ENV_DIRFILE)
	@echo [$(AS)] $@
	@$(AS) $(ASPARMS) $< -o $@

$(LU_ENV_BUILDDIR)/%.ho: $(LU_ENV_SRCDIR)/%.c $(LU_ENV_DIRFILE)
	@echo [$(HOSTCC)] $@
	@$(HOSTCC) $(HOSTCCCPARMS) $(LU_INCLUDE) $< -o $@


#Test builds
T_LUDI_ENV_SRCDIR=$(T_LUDI_SRCDIR)/environment
T_LUDI_ENV_BUILDDIR=$(T_LUDI_BUILDDIR)/environment
T_LUDI_ENV_DIRFILE=$(T_LUDI_ENV_BUILDDIR)/.directory

$(T_LUDI_ENV_DIRFILE): $(T_LUDI_DIRFILE) $(T_LUDI_ENV_SRCDIR)/Makefile $(T_LUDI_DIRFILE)
	@echo -e '.\c'
	@mkdir -p $(T_LUDI_ENV_BUILDDIR)
	@touch $@

$(T_LUDI_ENV_BUILDDIR)/%.o: $(T_LUDI_ENV_SRCDIR)/%.c $(T_LUDI_ENV_DIRFILE)
	@$(HOSTCC) $(HOSTCCPARMS) $(LIBUDITESTCC) -c $(LU_INCLUDE) $(CFLAGS) $< -o $@

$(T_LUDI_ENV_BUILDDIR)/%.o: $(T_LUDI_ENV_SRCDIR)/%.bas $(T_LUDI_ENV_DIRFILE)
	@$(HOSTFB) $(HOSTFBPARMS) $< -o $@
