include Makefile.configuration

JNI_INCLUDE_DIR=/System/Library/Frameworks/JavaVM.framework/Headers
JNILIB_EXT=jnilib
JNILIB_CFLAGS=-fPIC
JNILIB_LDFLAGS=-dynamiclib -Wl,-flat_namespace

CAST_INCLUDE_DIR=$(WORKSPACE_DIR)/com.ibm.wala.cast/source/c/include
CAST_LIB_DIR=$(WORKSPACE_DIR)/com.ibm.wala.cast/bin
CAST_LDFLAGS=$(CAST_LIB_DIR)/libcast.jnilib

DOTGNU_CFLAGS=-I$(DOTGNU_INCLUDE_DIR)

DOTGNU_LIB_NAMES=$(notdir $(wildcard $(DOTGNU_LIB_DIR)/libIL*))
DOTGNU_LDFLAGS=-L$(DOTGNU_LIB_DIR) $(patsubst lib%.a, -l%, $(DOTGNU_LIB_NAMES))

CFLAGS=$(DOTGNU_CFLAGS) $(JNILIB_CFLAGS) -Iinclude -I$(JNI_INCLUDE_DIR) -I$(DOTGNU_INCLUDE_DIR) -I$(CAST_INCLUDE_DIR) -gstabs+
LDFLAGS=$(JNILIB_LDFLAGS) $(DOTGNU_LDFLAGS) $(CAST_LDFLAGS) -lz

SOURCES=$(wildcard dotgnu/*.c)
OBJS=$(patsubst %.c, %.o, $(SOURCES))

lib:	$(OBJS)
	g++ -o libwaladotgnu.$(JNILIB_EXT) $^ $(LDFLAGS)

$(OBJS): %.o:		%.c
	g++ -o $@ -c $< $(CFLAGS) 

cls:
	$(JAVAC) iltest.java

header:	cls
	$(JAVAH) iltest

clean:
	rm $(OBJS)
