include ../Version.mk
include ../Config.mk

CC = $(AOUTCC)
AS = $(AOUTAS)
LD = $(AOUTLD)

STATIC_DIR = static
STATIC_OBJS = fixups.o fdprintf.o vsprintf.o ctype.o strerror.o \
              __load.o ld.so.o preload.o

ALL = __load.o ld.so libldso.a

all:	$(ALL)

ld.so: 	preld.o ld.so.o fixups.o fdprintf.o vsprintf.o ctype.o strerror.o preload.o
	$(LD) -static -qmagic $(STRIP) -o $@ -Ttext $(LDSO_ADDR) $^ $(STRIP) -lc

__load.o: __load.c
	$(CC) -c $(CFLAGS) -DLDSO_ADDR=$(LDSO_ENTRY) $< -o $@

clean:
	rm -f $(ALL) *.o *~ core
	rm -f $(STATIC_DIR)/*.o

$(STATIC_DIR)/%.o: %.c
	$(CC) -c $(DEBUG_CFLAGS) -o $@ $*.c

libldso.a::
	@[ -d $(STATIC_DIR) ] || mkdir $(STATIC_DIR)

libldso.a:: libldso.a($(STATIC_OBJS:%.o=$(STATIC_DIR)/%.o) preld.o)
	$(RANLIB) $@
