install: libpvmfs.a syscall.shr.o

clean:
	-rm -f libpvmfs.a pvmfsshr.o syscall.shr.o syscall.o

pvmfsshr.o:
	@if [ ! -f $@ ]; \
	then \
		echo ar x /lib/libc.a shr.o; \
		ar x /lib/libc.a shr.o; \
		echo ld -o $@ -bnso -r shr.o -bnodelcsect; \
		ld -o $@ -bnso -r shr.o -bnodelcsect; \
		echo rm -f shr.o; \
		rm -f shr.o; \
	fi

libpvmfs.a: pvmfsshr.o
	@if [ ! -f $@ ]; \
	then \
		echo cp /lib/libc.a $@; \
		cp /lib/libc.a $@; \
		echo chmod u+w $@; \
		chmod u+w $@; \
		echo ar dv $@ shr.o; \
		ar dv $@ shr.o; \
		echo ar rsv $@ pvmfsshr.o; \
		ar rsv $@ pvmfsshr.o; \
		echo ranlib $@; \
		ranlib $@; \
	else \
		exit 0; \
	fi

syscall.exp:
	echo "#!`pwd`/syscall.shr.o" > syscall.exp
	echo "syscall" >> syscall.exp

syscall.shr.o: syscall.o syscall.exp
	ld -o $@ -bM:SRE -T512 -bE:syscall.exp -bI:/lib/syscalls.exp -bnodelcsect syscall.o

syscall.o:	syscall.c syscall-fake.h
	$(SCC) -g -c syscall.c
