# Copyright 2001-2019 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.
#
# ====================================================================
#
# NMAKEa2md   a2md utility makefile.
#
# Originally contributed by Mladen Turk <mturk redhat.com>
#
# ====================================================================
#

TARGET  = EXE
PROJECT = a2md

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

!include <xbuild.inc>

BUILDINC = $(PREFIX)\include
BUILDLIB = $(PREFIX)\$(_LIB)
BUILDOUT = $(PREFIX)\bin

LDIRS = /libpath:"$(BUILDLIB)" /libpath:"$(EXTLIBPATH)"
LIBS   = $(LIBS) user32.lib psapi.lib gdi32.lib shlwapi.lib wldap32.lib ole32.lib
LIBS   = $(LIBS) libapr-1.lib libaprutil-1.lib libhttpd.lib libssl.lib libcrypto.lib libcurl.lib libjansson-2.lib md.lib

INCLUDES = -I$(SRCDIR) -I$(BUILDINC) -I$(EXTINCPATH) -I$(EXTINCPATH)\httpd  -I$(EXTINCPATH)\apr-1
PDBFLAGS = -Fo$(WORKDIR)\ -Fd$(WORKDIR)\$(PROJECT)

BUILDBIN = $(WORKDIR)\$(PROJECT).exe
BUILDPDB = $(WORKDIR)\$(PROJECT).pdb 
BUILDRES = $(WORKDIR)\$(PROJECT).res
BUILDMFT = $(BUILDBIN).manifest

RCFLAGS =  $(RCFLAGS) /d BIN_NAME="$(PROJECT).exe" /d LONG_NAME="a2md utility for Apache"

OBJECTS = \
	$(WORKDIR)\md_cmd_main.obj \
	$(WORKDIR)\md_cmd_acme.obj \
	$(WORKDIR)\md_cmd_reg.obj \
	$(WORKDIR)\md_cmd_store.obj

all : $(WORKDIR) $(BUILDBIN)

$(WORKDIR) :
	@$(MAKEWORKDIR)

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

$(BUILDRES): $(EXTINCPATH)\httpd\arch\win32\httpd.rc
	$(RC) $(RCFLAGS) /i "$(EXTINCPATH)\httpd"  /i "$(EXTINCPATH)\apr-1" /fo $(BUILDRES) $(EXTINCPATH)\httpd\arch\win32\httpd.rc

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

install: all
	@xcopy "$(WORKDIR)\*.exe" "$(BUILDOUT)" /I /Y /Q
	@xcopy "$(WORKDIR)\*.pdb" "$(BUILDOUT)" /I /Y /Q 2>NUL
