#
# Makefile for the global data
#

#GCCVERSION=-V ss-921113

HOST_MACHINE=decstation-3100
TARGET_MACHINE=i386-linux

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

# 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

MFLAGS=CC="$(CC)" AR="$(AR)" LD="$(LD)" CPP="$(CPP)" AS="$(AS)" \
	RANLIB="$(RANLIB)" INC="$(INC)" RM="$(RM)" \
	XCFLAGS="$(XCFLAGS)" OPTFLAGS="$(OPTFLAGS)" \
	MINUS_G= XTRAFLAGS="$(XCFLAGS)" AR_FLAGS="$(AR_FLAGS)" \
	LDFLAGS="$(LDFLAGS)" MV="$(MV)" DEBUG="$(DEBUG)" \
	$(DUMMY)

MV	=/bin/mv

AR	=$(CROSSBINDIR)/ar
AR_FLAGS=ucv
AS	=$(CROSSBINDIR)/as
LD	=$(CROSSBINDIR)/ld
NM	=$(CROSSBINDIR)/nm
REALRANLIB	=$(CROSSBINDIR)/ranlib

RANLIB	=echo
LDFLAGS	=-r -x

XCFLAGS = -D_GNU_SOURCE -DSTDC_HEADERS -DUSG -DDIRENT -DSYSV \
	-DUSE_BSD_REGEX

CC	=$(HOSTBINDIR)/gcc $(GCCVERSION) -b $(TARGET_MACHINE)
INC	=-I. -I../soft
OPTFLAGS= -O2 -fomit-frame-pointer
CFLAGS = -Wall $(OPTFLAGS) $(INC) $(XCFLAGS)
CPP	=$(CC) -E $(INC) $(XCFLAGS)
RM	=/bin/rm


DOSUBDIRS=lib

DIRS	=rpc

LIBC_DATA2S=rpc/rpc_comdata.o

LIBRPC_DATA1S=rpc/rpc_comdata.o

.SUFFIXES:
.SUFFIXES: .S .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

lib:
	make dosubdirs DOSUBDIRS=library $(MFLAGS)

dep:
	make dosubdirs DOSUBDIRS=dep $(MFLAGS)

asm:
	make dosubdirs DOSUBDIRS=asm $(MFLAGS)


jump: data

data: libc.data2.o # librpc.data1.o 

text: librpc.text1.o

libm.data2.o: $(LIBM_DATA2S)
	$(LD) -x -r -o $@ $?

libc.data2.o: $(LIBC_DATA2S)
	$(LD) -x -r -o $@ $?

librpc.data1.o: $(LIBRPC_DATA1S)
	$(LD) -x -r -o $@ $?

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

clean:
	$(RM) -f $(LIBS)
	for i in $(DIRS); \
	do \
		echo cleaning $$i; \
		(cd $$i; make clean $(MFLAGS)); \
	done
