# Defines for example NSAPI programs running under SOLARIS

CC_CMD=gcc -DNET_SSL -DSOLARIS -D_REENTRANT -DXP_UNIX \
	-DMCC_HTTPD -DSPAPI20 \
	-fPIC
LD_SHAREDCMD=ld -G -fPIC

all:

prepare:

OS_TYPE=solaris
INCLUDEDIR=$(SUITSPOT_HOME)/include
JAVA_INCLUDE=$(JAVA_HOME)/include
JK_DIR=../common
VPATH=.:$(JK_DIR)

JK_SRCS = $(shell ls $(JK_DIR)/*.c)
JK_OBJS = $(patsubst $(JK_DIR)/%.c,%.o,$(JK_SRCS))

PLUGIN_OBJ = jk_nsapi_plugin.o

INCLUDE_FLAGS=	-I$(JK_DIR) -I$(INCLUDEDIR) -I$(INCLUDEDIR)/base \
		-I$(INCLUDEDIR)/frame -I$(JAVA_INCLUDE) -I$(JAVA_INCLUDE)/$(OS_TYPE)

all: nsapi_redirector.so 


nsapi_redirector.so: $(JK_OBJS) $(PLUGIN_OBJ)
	$(LD_SHAREDCMD) $(JK_OBJS) $(PLUGIN_OBJ) -o nsapi_redirector.so $(EXTRA_LDDEFINES)

clean:
	rm -f *.o nsapi_redirector.so 

%.o : %.c
	$(CC_CMD) $(INCLUDE_FLAGS) -c $< 
