
top_builddir=../../..
include $(top_builddir)/Makefile.conf

CFILES=int10.c int16.c int17.c hlt.c setup.c vgabios.c bios_symbols.c
SFILES=bios.S

all: lib

include $(REALTOPDIR)/src/Makefile.common

bios_symbols.c: bios.o
	nm -g -n $< | gawk '\
		BEGIN {\
		  COUNT=0;\
		  print "// Warning: autogenerated";\
	          print "";\
	          print "#include \"bios.h\"";\
	          print "";\
		  print "struct bios_symbol_entry bios_symbol[] = {";\
		}\
		{\
		  HEXSTR = sprintf("0x%s", $$1);\
		  ADDR = strtonum(HEXSTR);\
		  if (ADDR <= 0xffff) {\
		    COUNT++;\
		    printf "  { 0x%04x, \"%s\" },\n", ADDR, $$3;\
		  }\
		}\
		END {\
		  print "};";\
		  print "";\
	          print "int bios_symbol_num = " COUNT ";";\
		}\
		' > $@ || (rm -f $@ ; false)

clean::
	rm -f *.s.out bios_symbols.c
