# SOLO library for standalone programs

REQUIRES += $(BINDIR)/genofs

XINCPATH = boot
XINCFILES += bootparam.h regblock.h tssblock.h fileinfo.h mapfile.h \
	     bptypes.h nobptypes.h \
	     cpuinfo.h \
	     libsolo.h stdio.h malloc.h stdlib.h unistd.h fcntl.h \
	     make/bootparam.ofs make/regblock.ofs make/tssblock.ofs \
	     make/fileinfo.ofs make/mapfile.ofs
SRCFILES += srt0.S crt_head.S crt_tail.S \
	solo_mm.C solo_io.C emsolo.C \
	solo_open.C solo_close.C solo_read.C solo_write.C \
	solo_gets.C solo_puts.C solo_printf.C solo_vprintf.C \
	solo_fstat.C solo_lseek.C solo_exit.C solo_bp.C solo_msg.C \
	solo_getenv.C

LIBFILES += libsolo.a libemsolo.a
TARGETS += ${LIBFILES} srt0.o crt_head.o crt_tail.o

libsolo.a_OBJS += solo_io.o solo_mm.o \
	solo_open.o solo_close.o solo_read.o solo_write.o \
	solo_gets.o solo_puts.o solo_printf.o solo_vprintf.o \
	solo_fstat.o solo_lseek.o solo_exit.o \
	solo_bp.o solo_msg.o solo_getenv.o
libsolo.a: $(libsolo.a_OBJS)

libemsolo.a_OBJS += emsolo.o
libemsolo.a: $(libemsolo.a_OBJS)


CGENOFS = $(BINDIR)/cgenofs "$(CPP) \
	$(Includes_Wanted) $(Includes_Wanted_c) $(Includes_Wanted_C)" "$(CXX)"

bootparam.ofs: bootparam.h config.var
	$(CGENOFS) bootparam.h bootparam.ofs BootParam PSeg

regblock.ofs: regblock.h config.var
	$(CGENOFS) regblock.h regblock.ofs RegBlock

tssblock.ofs: tssblock.h config.var
	$(CGENOFS) tssblock.h tssblock.ofs TssBlock

fileinfo.ofs: fileinfo.h config.var
	$(CGENOFS) fileinfo.h fileinfo.ofs FileInfo

mapfile.ofs: mapfile.h config.var
	$(CGENOFS) mapfile.h mapfile.ofs MapFile
                                                             
 
all: ${TARGETS}

