#!/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