+JAVA_HOME=/usr/lib/jvm/default-java
SYSTEM= $(shell uname | awk '{print tolower($$0)}')
+JAVAH=javah
+CC=gcc
+CFLAGS=-O3 -g -flto -Wall -Werror -Wextra -pedantic -fPIC
+CFLAGS+=-I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(SYSTEM)
+LDFLAGS=-shared
all: libsetuid.so
-libsetuid.so:
- javah -classpath ../bin/ -jni org.cacert.gigi.natives.SetUID
- gcc -fPIC -o libsetuid.so -shared -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(SYSTEM) org_cacert_gigi_natives_SetUID.c
+libsetuid.so: org_cacert_gigi_natives_SetUID.c
+ $(JAVAH) -classpath ../bin/ -jni org.cacert.gigi.natives.SetUID && \
+ $(CC) $(CFLAGS) $(LDFLAGS) -o libsetuid.so org_cacert_gigi_natives_SetUID.c
clean:
rm -f *.so