
# Makefile to create native part of isCOBOL: 
#
# libstacall.dylib : to allow to use usercall.c direct interface to call C routine from isCOBOL program
#                 using sub and direct interface style 
#
# To generate all libraries: make
# To clean: make clean

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.11.jdk/Contents/Home

CC=cc -O3 -Wall
CFLAGS=-Wall -fPIC
INCL=-I. -I../include \
     -I${JAVA_HOME}/include \
     -I${JAVA_HOME}/include/darwin \
     -I/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include \
     -I/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/malloc

all:libstacall.dynamiclib libstacall_n.dynamiclib

libstacall.dynamiclib:../static/lib/com_iscobol_so_StaticCall.o usercall.o
	$(CC) -g -shared -o  ../lib/libstacall.dylib -dynamiclib,libstacall.dylib \
		../static/lib/com_iscobol_so_StaticCall.o usercall.o


libstacall_n.dynamiclib:../static/lib/com_iscobol_son_StaticCall.o usercall_n.o
	$(CC) -g -shared -o  ../lib/libstacall_n.dylib -dynamiclib,../lib/libstacall_n.dylib \
		../static/lib/com_iscobol_son_StaticCall.o usercall_n.o

usercall.o:usercall.c
	$(CC) -c $(INCL) $(CFLAGS) usercall.c


usercall_n.o:usercall.c
	$(CC) -c $(INCL) -DCP $(CFLAGS) -o usercall_n.o usercall.c

clean:
	rm -f ../lib/libstacall*.dylib usercall*.o
