# SOLO library for standalone programs

REQUIRES += $(BIN)/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 \
	     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

TARGETS += libsolo.a libemsolo.a srt0.o crt_head.o crt_tail.o

LIBSOLOOBJS += 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

LIBEMSOLOOBJS += emsolo.o


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


libsolo.a: ${LIBSOLOOBJS}
	ar rc libsolo.a ${LIBSOLOOBJS}
	ranlib libsolo.a

libemsolo.a: ${LIBEMSOLOOBJS}
	ar rc libemsolo.a ${LIBEMSOLOOBJS}
	ranlib libsolo.a


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}

