#!/bin/sh
#
# Shellskript create_lib_aix:
#
# 1. Parameter: Name der C-Datei mit JNI-Funktionen
# 2. Parameter: Name der zu erstellenden Bibliothek
#
# Beispiel: create_lib_aix UNIXSystemImpl UNIXSystem
#
# Ergebnis: libUNIXSystem.AIX.so
#
# Die .o-Dateien der einzubindenden Agentenfunktionen muessen sich im
# gleichen Verzeichnis wie die zu kompilierende C-Datei befinden
#
# Vergleiche: /usr/lpp/Java/jni_example/c/Makefile
#
xlc_r -c -M -I. -I/usr/lpp/Java/include -I/usr/lpp/Java/include/aix \
$1.c -o $1.o
grep " JNICALL " $1.h | sed "s/.* JNICALL //g">"lib"${2}.so.exp
ld -bnoquiet -bnoentry -bM:SRE -blibpath:/lib:/usr/lib -lc_r \
-blibpath:/usr/lib/threads:/usr/lib:/lib -bE:"lib"${2}.so.exp
-L /usr/lpp/Java/lib/aix/native_threads -ljava
-o /users/stud/muelleto/proj/da/lib/"lib"${2}.AIX.so *.o
rm "lib"${2}.so.exp *.u