
include	../Makerules
include	../Makeconfig


XCFLAGS= -DIBCS_COMPATIBLE
ZCFLAGS=-I. -I./i386

#CFLAGS=-g -Wall -O2 -nostdinc -I/usr/local/lib/gcc-lib/i486-sysv4/2.4.5/include/ -I/home/eric/linux/usr/include/
#CFLAGS=-g -Wall -O2 -fPIC
#CC=/usr/local/bin/gcc
#
# For SVr4/ELF systems, libc.so.1 contains both the dynamic linker and libc.
#
SRC1S = i386/resolve.S
SRC2S = hash.c readelflib1.c i386/elfinterp.c i386/boot1.c libdl/dlib.c

SRCS	= $(SRC1S) $(SRC2S)
ASMS	= $(SCR1S:.S=.s) $(SRC2S:.c=.s)
OBJ1S	= $(SRC1S:.S=.o)
OBJ2S	= $(SRC2S:.c=.o)
OBJS	= $(OBJ1S) $(OBJ2S)

GENERATE := $(shell if [ -f ../abi_plus/generate-libc.o ]; then echo ../abi_plus/generate-libc.o ; fi)

LIBSRC = libctype.o    libi386.o    libsignal.o	  libstdlib.o globals.o \
	libsysdeps.o   libcvt.o     libmalloc.o   libstdio.o	  libstring.o \
	libsvr4.o	libdirent.o liblocale.o	  libtime.o	libpwd.o \
	libnls.o

all: ../abi_plus/pre-libc.so.1 ../libc.so.1 ../ld.so.1 ../libdl.so.1 \
	../libelf.so.1

../libc.so.1: Makefile i386/elfinterp.o hash.o readelflib1.o  i386/resolve.o i386/boot1.o libdl/dlib.o $(LIBSRC) $(GENERATE)
	$(LD) -e _dl_boot $(LD_SHLIBFLAG) -o ../libc.so.1 i386/boot1.o i386/elfinterp.o \
		i386/resolve.o hash.o readelflib1.o libdl/dlib.o $(LIBSRC) $(GENERATE)

../abi_plus/pre-libc.so.1: Makefile i386/elfinterp.o hash.o readelflib1.o  i386/resolve.o i386/boot1.o libdl/dlib.o $(LIBSRC)
	$(LD) -e _dl_boot $(LD_SHLIBFLAG) -o ../abi_plus/pre-libc.so.1 i386/boot1.o i386/elfinterp.o \
		i386/resolve.o hash.o readelflib1.o libdl/dlib.o $(LIBSRC)

../ld.so.1: Makefile i386/elfinterp.o hash.o readelflib1.o  i386/resolve.o i386/boot1.o
	$(LD) -e _dl_boot $(LD_SHLIBFLAG) -o ../ld.so.1 i386/boot1.o i386/elfinterp.o \
		i386/resolve.o hash.o readelflib1.o

../libelf.so.1: Makefile libelf/elf.o
	$(LD) $(LD_SHLIBFLAG) -o ../libelf.so.1 libelf/elf.o

../libdl.so.1: Makefile libdl/dlib.o
	$(LD) $(LD_SHLIBFLAG) -o ../libdl.so.1 libdl/dlib.o

test: test.o ../libc.so.1
	$(LD) -o test -I ../libc.so.1 test.o ../libc.so.1

test.o: test.c
	$(CC) -c test.c

globals.o: globals.c

dist:
	tar cf - * | gzip > linuxelf.tar.z

clean:
	rm -f *.o

dep:
	$(CPP) $(CFLAGS) -M $(SRCS) > .depend

dummy:

#
# include a dependency file if one exists
#
ifeq (.depend,$(wildcard .depend))
include .depend
endif
