# Makefile for Shag/OS ELF-binary handlers

XINCPATH = c++
XINCFILES += Elf32.H
INCFILES += Error.h 
SRCFILES += Elf32.C
# SRCFILES += vector.H object.H File.h Error.h Perror.h 
# SRCFILES += objtypes.dh obj_File.dh
# SRCFILES += Elf32.C Error.C Perror.C elftest.C stab.C
# SRCFILES += File.C test.C object.C
DXFILES += object File test
LXFILES += elftest stab
TARGETS += libElf32.a

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

Elf32.ofs: Elf32.H
	$(CGENOFS) Elf32.H 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)

LIBELFOBJS += Elf32.o

libElf32.a: $(LIBELFOBJS)
	ar rc libElf32.a $(LIBELFOBJS)
	ranlib libElf32.a

all: Elf32.ofs $(TARGETS)


