#
# Makefile for Linux specific functions
#

GCCVERSION= -V ss-921121

HOST_MACHINE=decstation-3100
TARGET_MACHINE=i386-linux

#
# Host root directory, maybe /usr for Linux
HOSTROOTDIR=/net/irl/users/hlu/local
#HOSTROOTDIR=/local

# Where we are now.
SRCDIR=/net/irl/users/hlu/pkg/libc-linux
#SRCDIR=/users/src/libc-linux

# Host root directory, maybe /usr for Linux
TARGETROOTDIR=$(HOME)/Linux/usr

# Host bin direcory
HOSTBINDIR=$(HOSTROOTDIR)/bin

# For Linux, that should be /usr/bin
CROSSBINDIR=$(HOSTROOTDIR)/$(TARGET_MACHINE)/bin
#CROSSBINDIR=/usr/bin

HOST_LIB_DIR =$(HOSTROOTDIR)/$(TARGET_MACHINE)/lib
TARGE_LIB_TDIR=$(TARGETROOTDIR)/lib

MV	=/bin/mv

AR      =$(CROSSBINDIR)/ar
AS      =$(CROSSBINDIR)/as
LD      =$(CROSSBINDIR)/ld
NM      =$(CROSSBINDIR)/nm
RANLIB  =$(CROSSBINDIR)/ranlib

RANLIB  =echo

LDFLAGS =-r -x

LIB=../../libc.a

MFLAGS=CC="$(CC)" AR="$(AR)" LD="$(LD)" AS="$(AS)" \
	RANLIB="$(RANLIB)" RM="$(RM)" XCFLAGS="$(XCFLAGS)" \
	AR_FLAGS="$(AR_FLAGS)" \
	LDFLAGS="$(LDFLAGS)" MV="$(MV)" DEBUG="$(DEBUG)" \
	GCCVERSION="$(GCCVERSION)" $(DUMMY)


XCFLAGS = -D_GNU_SOURCE -DSTDC_HEADERS -DUSG -DDIRENT -DSYSV \
	-DUSE_BSD_REGEX
CC= $(HOSTBINDIR)/gcc $(GCCVERSION) -b $(TARGET_MACHINE)
OPTFLAGS = -O2 -fomit-frame-pointer
CFLAGS = -Wall $(OPTFLAGS) $(INC) $(XCFLAGS)
INC= -I./i386 -I../..
CPP=$(CC) -E $(INC) $(XCFLAGS)
RM=/bin/rm

DIRS=i386

.SUFFIXES:
.SUFFIXES: .S .C .o .c .s .i

.s.o :
	$(CC) $(CFLAGS) -c $<
	$(LD) $(LDFLAGS) $*.o
	$(MV) a.out $*.o

.S.o :
	$(CC) $(CFLAGS) -c $<
	$(LD) $(LDFLAGS) $*.o
	$(MV) a.out $*.o

.c.o :
	$(CC) $(CFLAGS) -c $<
	$(LD) $(LDFLAGS) $*.o
	$(MV) a.out $*.o

.c.s :
	$(CC) $(CFLAGS) -S $<

.c.i :
	$(CC) $(CFLAGS) -E $< -o $*.i

.C.o:
	$(CC) $(CFLAGS) $<
	$(LD) $(LDFLAGS) $*.o
	$(MV) a.out $*.o

.C.s:
	$(CC) $(CFLAGS) -S $<

.C.i:
	$(CC) $(CFLAGS) -E $< -o $*.i

.S.i:
	$(CC) $(CFLAGS) -E $< -o $*.i

OBJS = __access.o __chdir.o __chmod.o __chown.o __close.o __dup.o \
	__dup2.o __execve.o __fchmod.o __fchown.o \
	__flock.o __fork.o __fpathconf.o __fstat.o __getdtsz.o \
	__getegid.o __geteuid.o __getgid.o __getgrps.o __gethstnm.o \
	__getitmr.o __getpgsz.o __getpid.o __getppid.o __getrusag.o \
	__gettod.o __getuid.o __isatty.o __kill.o __link.o \
	__lseek.o __lstat.o __mkdir.o __mknod.o \
	__pathconf.o __pipe.o __read.o __readlink.o __rmdir.o \
	__setgid.o __setitmr.o __setregid.o __setreuid.o __setsid.o \
	__settod.o __setuid.o __sigblock.o __siggtmsk.o __sigpause.o \
	__sigproc.o __sigstmsk.o __stat.o __symlink.o __sysconf.o \
	__tcgetatr.o __times.o __umask.o __unlink.o __utimes.o \
	__wait4.o __write.o acct.o alarm.o chroot.o creat.o \
	fstatfs.o ftruncate.o getpgrp.o getrlimit.o idle.o \
	ioperm.o iopl.o libc_exit.o mkfifo.o morecore.o mount.o \
	munmap.o nice.o nlist.o pause.o reboot.o rename.o setegid.o \
	seteuid.o setgroups.o sethstnm.o setpgid.o setprio.o \
	setrlimit.o signal.o sigpending.o statfs.o stime.o swapoff.o \
	swapon.o sync.o time.o truncate.o umount.o uname.o \
	uselib.o ustat.o utime.o vhangup.o vm86.o

library: lib
	for i in $(DIRS); do \
	  echo making $$i; \
	  (cd $$i; \
	   if [ x"$(DEBUG)"x = xx ]; then \
	     make library $(MFLAGS); \
	   else \
	     make library $(MFLAGS) OPTFLAGS="$(OPTFLAGS)"; \
	   fi); \
	done


lib: $(OBJS) $(OBJ1S)
	$(AR) uvc $(LIB) $(OBJS)
	sync

asm: $(ASMS)
	for i in $(DIRS); \
	do \
		echo making asm in $$i; \
		(cd $$i; make asm $(MFLAGS)); \
	done

clean:
	$(RM) -f core *.o *.a tmp_make foo
	-for i in *.c;do \
	  if [ -f $$i ]; then \
	    $(RM) -f `basename $$i .c`.s; \
	  fi; \
	done
	for i in $(DIRS); \
	do \
		echo cleaning $$i; \
		(cd $$i; make clean $(MFLAGS)); \
	done

dep:
	sed '/\#\#\# Dependencies/q' < Makefile > tmp_make
	(for i in *.c;do echo -n `echo $$i | sed 's,\.c,\.s,'`" "; \
	$(CPP) -M $$i;done) >> tmp_make
	cp tmp_make Makefile

### Dependencies:
