# Makefile for Shag/OS ELF-binary handlers

REQUIRES += $(BINDIR)/genofs

XINCPATH = bff
XINCFILES += Elf32.hh make/Elf32.ofs
SRCFILES += Elf32.cc
# SRCFILES += vector.hh object.hh File.h Error.h Perror.h 
# SRCFILES += objtypes.dh obj_File.dh
# SRCFILES += Elf32.cc Error.cc Perror.cc elftest.cc stab.cc
# SRCFILES += File.cc test.cc object.cc
DXFILES += object File test
LXFILES += elftest stab
LIBFILES += libElf32.a
TARGETS += ${LIBFILES}

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

Elf32.ofs: Elf32.hh
	$(CGENOFS) Elf32.hh Elf32.ofs Ehdr Shdr Phdr

elftest_OBJS += Elf32.o elftest.o File.o Error.o Perror.o
elftest_FLAGS += -rdynamic
elftest: $(elftest_OBJS)

object_OBJS += object.do 
object: $(object_OBJS) 

File_OBJS += File.do object
File: $(File_OBJS) 

test_OBJS += test.do File object
test_FLAGS += -e main
test: $(test_OBJS)

stab_OBJS += stab.o
stab: $(stab_OBJS)

libElf32.a_OBJS += Elf32.o
libElf32.a: $(libElf32.a_OBJS)

all: ${TARGETS}

