# Copyright 2001-2009 The Apache Software Foundation or its licensors, as
# applicable.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# ====================================================================
#
# NMAKEmakefile   jk module makefile.
#
# Originally contributed by Mladen Turk <mturk redhat.com>
#
# ====================================================================
#

TARGET=DLL
PROJECT = mod_jk
LIBAPR=libapr-1.lib
LIBAPU=libaprutil-1.lib
LIBHTTPD=libhttpd.lib

!IF !DEFINED(SRCDIR) || "$(SRCDIR)" == ""
SRCDIR = .
!ENDIF

!include <..\..\..\common\NMAKEcommon.inc>


LDIRS = /libpath:"$(EXTLIBPATH)"
LFLAGS = $(LFLAGS) user32.lib psapi.lib gdi32.lib shlwapi.lib wldap32.lib ole32.lib $(LIBAPR) $(LIBAPU) $(LIBHTTPD)
CFLAGS = $(CFLAGS) -DPROXY_DECLARE_EXPORT

INCLUDES = -I$(SRCDIR)\common -I$(EXTINCPATH) -I$(EXTINCPATH)\httpd
PDBFLAGS = -Fo$(WORKDIR)\ -Fd$(WORKDIR)\$(PROJECT)-src

BUILDLIB = $(PREFIX)\lib
BUILDBIN = $(PREFIX)\bin
BUILDOUT = $(WORKDIR)\$(PROJECT).so
BUILDPDB = $(WORKDIR)\$(PROJECT).pdb
BUILDRES = $(WORKDIR)\$(PROJECT).res
BUILDMFT = $(BUILDOUT).manifest

RCFLAGS =  $(RCFLAGS) /d BIN_NAME="$(PROJECT).so" /d LONG_NAME="jk_module for Apache"

OBJECTS = \
	$(WORKDIR)\jk_ajp12_worker.obj \
	$(WORKDIR)\jk_ajp13.obj \
	$(WORKDIR)\jk_ajp13_worker.obj \
	$(WORKDIR)\jk_ajp14.obj \
	$(WORKDIR)\jk_ajp14_worker.obj \
	$(WORKDIR)\jk_ajp_common.obj \
	$(WORKDIR)\jk_connect.obj \
	$(WORKDIR)\jk_context.obj \
	$(WORKDIR)\jk_lb_worker.obj \
	$(WORKDIR)\jk_map.obj \
	$(WORKDIR)\jk_md5.obj \
	$(WORKDIR)\jk_msg_buff.obj \
	$(WORKDIR)\jk_pool.obj \
	$(WORKDIR)\jk_shm.obj \
	$(WORKDIR)\jk_sockbuf.obj \
	$(WORKDIR)\jk_status.obj \
	$(WORKDIR)\jk_uri_worker_map.obj \
	$(WORKDIR)\jk_url.obj \
	$(WORKDIR)\jk_util.obj \
	$(WORKDIR)\jk_worker.obj \
	$(WORKDIR)\mod_jk.obj

!IF DEFINED(HAVE_JNI) && DEFINED(JAVA_HOME)
OBJECTS = $(OBJECTS) $(WORKDIR)\jk_jni_worker.obj
INCLUDES = $(INCLUDES) -I$(JAVA_HOME)\include -I$(JAVA_HOME)\include\win32
!ENDIF

all : $(WORKDIR) $(BUILDOUT)
	@echo Building mod_jk ...

$(BUILDBIN) :
	@if not exist "$(BUILDBIN)\$(NULL)" mkdir "$(BUILDBIN)"

$(WORKDIR) :
	@$(MAKEWORKDIR)

{$(SRCDIR)\common}.c{$(WORKDIR)}.obj:
	$(CC) $(CFLAGS) $(INCLUDES) $(PDBFLAGS) $<

{$(SRCDIR)\apache-2.0}.c{$(WORKDIR)}.obj:
	$(CC) $(CFLAGS) $(INCLUDES) $(PDBFLAGS) $<

$(BUILDOUT): $(OBJECTS)
	$(LINK) $(LFLAGS) $(OBJECTS) $(LIBS) $(LDIRS) /pdb:$(BUILDPDB) /out:$(BUILDOUT)
	IF EXIST $(BUILDMFT) \
		mt -nologo -manifest $(BUILDMFT) -outputresource:$(BUILDOUT);2

install: $(BUILDBIN) $(WORKDIR) $(BUILDOUT)
	@xcopy "$(WORKDIR)\*.so" "$(BUILDBIN)" /Y /Q

