LFB_RT_SRCDIR=$(LFB_SRCDIR)/rtlib
LFB_RT_BUILDDIR=$(LFB_BUILDDIR)/rtlib

$(LFB_RT_BUILDDIR): $(LFB_BUILDDIR)
	@mkdir -p $(LFB_RT_BUILDDIR)

include $(LFB_RT_SRCDIR)/mos/Makefile

#skipped: libfb_array_boundchk.o libfb_array_clear.o libfb_array_tmpdesc.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_core.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_erase.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_erasestr.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_lbound.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_redim.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_redimpresv.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_resetdesc.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_setdesc.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_array_ubound.o
#skipped: libfb_assert.o libfb_assert_wstr.o
#skipped: libfb_compat_hsleep.o
#skipped: libfb_con_lineinp.o libfb_con_lineinp_wstr.o libfb_con_locate.o libfb_con_locate_sub.o libfb_con_pos.o libfb_con_print_raw.o libfb_con_print_raw_wstr.o libfb_con_print_tty.o libfb_con_print_tty_wstr.o libfb_con_readline.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_cpudetect_x86.o
#skipped: libfb_data_readbyte.o libfb_data_readdouble.o libfb_data_readint.o libfb_data_readlong.o libfb_data_readshort.o libfb_data_readsingle.o libfb_data_readstr.o libfb_data_readubyte.o libfb_data_readuint.o libfb_data_readulong.o libfb_data_readushort.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_data.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_data_read_wstr.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_data_rest.o
#skipped: libfb_dev_com.o libfb_dev_com_test.o libfb_dev_cons_open.o libfb_dev_err_open.o libfb_dev_file_close.o libfb_dev_file_encod_open.o libfb_dev_file_encod_read.o libfb_dev_file_encod_readline.o libfb_dev_file_encod_readline_wstr.o libfb_dev_file_encod_read_core.o libfb_dev_file_encod_read_wstr.o libfb_dev_file_encod_write.o libfb_dev_file_encod_write_wstr.o libfb_dev_file_eof.o libfb_dev_file_flush.o libfb_dev_file_lock.o libfb_dev_file_open.o libfb_dev_file_read.o libfb_dev_file_readline.o libfb_dev_file_readline_wstr.o libfb_dev_file_read_wstr.o libfb_dev_file_seek.o libfb_dev_file_tell.o libfb_dev_file_unlock.o libfb_dev_file_write.o libfb_dev_file_write_wstr.o libfb_dev_lpt.o libfb_dev_lpt_test.o libfb_dev_pipe_close.o libfb_dev_pipe_open.o libfb_dev_scrn.o libfb_dev_scrn_close.o libfb_dev_scrn_eof.o libfb_dev_scrn_init.o libfb_dev_scrn_read.o libfb_dev_scrn_readline.o libfb_dev_scrn_readline_wstr.o libfb_dev_scrn_read_wstr.o libfb_dev_scrn_write.o libfb_dev_scrn_write_wstr.o libfb_dev_stdio_close.o
#skipped: libfb_error.o libfb_error_ptrchk.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_error_getset.o
#skipped: libfb_exit.o
#skipped: libfb_file_close.o libfb_file_encod.o libfb_file_eof.o libfb_file_get.o libfb_file_getarray.o libfb_file_getstr.o libfb_file_get_wstr.o libfb_file_input_byte.o libfb_file_inputstr.o  libfb_file_input_con.o libfb_file_input_file.o libfb_file_input_float.o libfb_file_input_int.o libfb_file_input_longint.o libfb_file_input_short.o libfb_file_input_str.o libfb_file_input_tok.o libfb_file_input_tok_wstr.o libfb_file_input_ubyte.o libfb_file_input_uint.o libfb_file_input_ulongint.o libfb_file_input_ushort.o libfb_file_input_wstr.o libfb_file_kill.o libfb_file_lineinp.o libfb_file_lineinp_wstr.o libfb_file_loc.o libfb_file_lock.o libfb_file_open.o libfb_file_opencom.o libfb_file_opencons.o libfb_file_openencod.o libfb_file_openerr.o libfb_file_openlpt.o libfb_file_openpipe.o libfb_file_openscrn.o libfb_file_openshort.o libfb_file_print.o libfb_file_print_wstr.o libfb_file_put.o libfb_file_putarray.o libfb_file_putback.o libfb_file_putback_wstr.o libfb_file_putstr.o libfb_file_put_wstr.o libfb_file_reset.o libfb_file_seek.o libfb_file_size.o libfb_file_tell.o libfb_file_tree.o libfb_file_winputstr.o
#skipped: libfb_hook_cls.o libfb_hook_color.o libfb_hook_getsize.o libfb_hook_getx.o libfb_hook_getxy.o libfb_hook_gety.o libfb_hook_inkey.o libfb_hook_isredir.o libfb_hook_lineinp.o libfb_hook_lineinp_wstr.o libfb_hook_locate_ex.o libfb_hook_mouse.o libfb_hook_multikey.o libfb_hook_printstr.o libfb_hook_print_wstr.o libfb_hook_readstr.o libfb_hook_readxy.o libfb_hook_sleep.o libfb_hook_view_update.o libfb_hook_width.o
#disabled: mos/libfb_hook_core.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_hook_ports.o
#skipped:
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_init.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_init_nullstring.o
#skipped: libfb_io_lpos.o libfb_io_lprintusg.o libfb_io_lprintvoid.o libfb_io_lprint_byte.o libfb_io_lprint_fix.o libfb_io_lprint_fp.o libfb_io_lprint_int.o libfb_io_lprint_longint.o libfb_io_lprint_short.o libfb_io_lprint_str.o libfb_io_print.o libfb_io_printpad.o libfb_io_printusg.o libfb_io_printvoid.o libfb_io_print_byte.o libfb_io_print_fix.o libfb_io_print_fp.o libfb_io_print_int.o libfb_io_print_longint.o libfb_io_print_short.o libfb_io_print_wstr.o libfb_io_setpos.o libfb_io_spc.o libfb_io_view.o libfb_io_viewhlp.o libfb_io_widthdev.o libfb_io_widthfile.o libfb_io_writebyte.o libfb_io_writefloat.o libfb_io_writeint.o libfb_io_writelongint.o libfb_io_writeshort.o libfb_io_writestr.o libfb_io_writevoid.o libfb_io_write_wstr.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_list.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_listdyn.o
#skipped: libfb_math_fix.o libfb_math_rnd.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_math_sgn.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_mem_copyclear.o
#skipped: libfb_signals.o
#no compile: libfb_str_ftoa.o libfb_str_instr.o libfb_str_convto_flt.o libfb_str_convto_lng.o
#no link: libfb_str_convfrom.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_asc.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_assign.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_base.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_bin.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_bin_lng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_chr.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_comp.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_concat.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_concatassign.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_convfrom_int.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_convfrom_lng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_convfrom_rad.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_convfrom_radlng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_convfrom_uint.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_convfrom_ulng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_convto.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_core.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_cvmk.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_del.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_fill.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_ftoa_x86.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_hex.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_hex_lng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_instrany.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_lcase.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_left.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_len.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_ltrim.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_ltrimany.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_ltrimex.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_mid.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_midassign.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_misc.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_oct.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_oct_lng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_right.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_rtrim.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_rtrimany.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_rtrimex.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_set.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_tempdescf.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_tempdescv.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_tempdescz.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_tempres.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_trim.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_trimany.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_trimex.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_str_ucase.o

#no compile:
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convto.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convto_flt.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convto_lng.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_ftoa.o

#no link:
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convassign.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convconcat.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convfrom.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convfrom_int.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convfrom_lng.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convfrom_str.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convfrom_uint.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convfrom_ulng.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_lcase.o
#LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_ucase.o

LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_asc.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_assign.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_comp.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_concat.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_concatassign.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convto_str.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_fill.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_instr.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_left.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_len.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_ltrim.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_ltrimany.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_ltrimex.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_mid.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_midassign.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_right.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_rtrim.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_rtrimany.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_rtrimex.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_set.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_trim.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_trimany.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_trimex.o

#no compile:
#no link:
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_alloc.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_bin.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_bin_lng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_chr.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convfrom_rad.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_convfrom_radlng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_del.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_hex.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_hex_lng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_oct.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_oct_lng.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_strw_space.o
#no compile: libfb_swap_wstr.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_swap_mem.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_swap_str.o
#no compile: libfb_sys_beep.o libfb_sys_cdir.o libfb_sys_chdir.o libfb_sys_environ.o libfb_sys_mkdir.o libfb_sys_rmdir.o
#no link: libfb_sys_chain.o libfb_sys_cmd.o libfb_sys_exepath.o libfb_sys_run.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_thread_ctx.o
#no compile: libfb_time_date.o libfb_time_time.o
#no link: libfb_time_dateset.o libfb_time_sleepex.o libfb_time_timeset.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_utf_convfrom_char.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_utf_convfrom_wchar.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_utf_convto_char.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_utf_convto_wchar.o
LFB_LIBFILES += $(LFB_RT_BUILDDIR)/libfb_utf_core.o
#no compile: libfb_vfs_open.o



$(LFB_RT_BUILDDIR)/%.o: $(LFB_RT_SRCDIR)/%.c $(LFB_RT_BUILDDIR)
	@echo [$(CC)] $@
	@$(CC) $(CCPARMS) $(CFLAGS)  $< -o $@

$(LFB_RT_BUILDDIR)/%.o: $(LFB_RT_SRCDIR)/%.s $(LFB_RT_BUILDDIR)
	@echo [$(GAS)] $@
	@$(GAS) $(GASPARMS)  $< -o $@

$(LFB_RT_BUILDDIR)/%.o: $(LFB_RT_SRCDIR)/%.asm $(LFB_RT_BUILDDIR)
	@echo [$(AS)] $@
	@$(AS) $(ASPARMS) $< -o $@
