#! /bin/ksh

#
# Name          : $HOME/AIX/shared/doit
#
# Version       : 1.1
#
# Author        : Gerard van Wageningen
#
# Description   : Compile AIX shared libraries demo
#
# Related files : share1.c, share2.c, libsub.exp and main.c
#
# 1.0   First Version
# 1.1	Generate import and export files
#

eval $(set_debug)

set -x

touch libsub.a libsub.o share1.o share2.o main.o libshared.a libshared.exp libshared.imp libshared.so main.sub main.shared
rm    libsub.a libsub.o share1.o share2.o main.o libshared.a libshared.exp libshared.imp libshared.so main.sub main.shared

cc -c share1.c
cc -c share2.c

cc -o libsub.o share1.o share2.o -bE:libsub.exp -bM:SRE -bnoentry

ar qv libsub.a libsub.o
cc -o main.sub main.c share1.o -lsub -L${PWD}

ar r libshared.a share1.o share2.o

print "" > libshared.exp
ar w libshared.a | awk 'NF==2 { len_1=length($1); if("."==substr($1,1,1)) print substr($1,2,len_1); }' >> libshared.exp

print "#! ${PWD}/libshared.so" > libshared.imp
cat libshared.exp >> libshared.imp

ld -G -bE:libshared.exp -bM:SRE -o libshared.so -efunc1 share1.o share2.o -lm -lc

mv libshared.a libshared.a.x
cc -o main.shared main.c share1.o -L${PWD} -lshared -brtl

set +x
cd ..
rm -f shared.tar shared.tar.gz
tar cvf shared.tar ./shared/doit ./shared/main.c ./shared/share1.c \
    ./shared/share2.c ./shared/libsub.exp 1>/dev/null 2>&1
gzip -v9f shared.tar 1>/dev/null 2>&1
if [[ ${HOSTNAME:-$(hostname)} = "red" ]]
then

	rcp shared.tar.gz eddie:AIX

fi

exit 0

############# EOF ############
