Makefile.windows.mk revision de3533cf66aacf94548bdc9c8d0671d936f38297
0N/A#
559N/A# The contents of this file are subject to the terms of the Common Development and
0N/A# Distribution License (the License). You may not use this file except in compliance with the
0N/A# License.
0N/A#
0N/A# You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
0N/A# specific language governing permission and limitations under the License.
0N/A#
0N/A# When distributing Covered Software, include this CDDL Header Notice in each file and include
0N/A# the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
0N/A# Header, with the fields enclosed by brackets [] replaced by your own identifying
0N/A# information: "Portions copyright [year] [name of copyright owner]".
0N/A#
0N/A# Copyright 2014 - 2015 ForgeRock AS.
0N/A#
0N/A
0N/Aifndef WINDOWS_MK_INCLUDED
0N/AWINDOWS_MK_INCLUDED := true
0N/A
0N/ACC = cl
0N/ALINK = link
0N/ARC = rc
0N/ASHARED = /DLL
0N/A
0N/ACFLAGS += /O2 /Oi /GL /Gy /GT /D _CRT_SECURE_NO_WARNINGS /wd4996 /wd4101 /wd4244 /wd4995 /wd4275 \
0N/A /EHa /nologo /Zi /errorReport:none /MP /Gm- /W3 /c /TC /D WIN32 /D _WIN32 /D ZLIB_WINAPI /D PCRE_STATIC
0N/A
0N/ALDFLAGS += /SUBSYSTEM:CONSOLE /NOLOGO /INCREMENTAL:NO /errorReport:none /MANIFEST:NO \
0N/A /OPT:REF /OPT:ICF /LTCG /DYNAMICBASE /NXCOMPAT /DEBUG \
0N/A /MACHINE:X64
0N/A
0N/ALIBS = kernel32.lib user32.lib ws2_32.lib crypt32.lib advapi32.lib shlwapi.lib shell32.lib
0N/A
0N/A$(IIS_OUT_OBJS): COMPILEOPTS += /TP
0N/A$(TEST_OBJECTS): CFLAGS += /D HAVE_MSVC_THREAD_LOCAL_STORAGE /D HAVE__SNPRINTF_S /D HAVE__VSNPRINTF_S /D UNIT_TESTING_DEBUG=1
0N/A
0N/Aifndef 64
0N/A$(error Only 64bit targets are supported)
0N/Aendif
0N/A
0N/Aifdef DEBUG
0N/A CFLAGS += /MTd /D _DEBUG /D DEBUG
0N/Aelse
0N/A CFLAGS += /MT
0N/Aendif
0N/A
0N/Alibopenam: $(OUT_OBJS)
0N/A @$(ECHO) "[*** Creating "$@" shared library ***]"
0N/A -$(RMALL) $(OBJDIR)$(PS)version.*
0N/A $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)libopenam.dll$(SUB)g" \
0N/A -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc
0N/A $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc
0N/A ${LINK} $(SHARED) $(LDFLAGS) $(OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\$@.dll /PDB:build\$@.pdb \
0N/A $(LIBS)
0N/A
0N/Aapache: $(OUT_OBJS) $(APACHE_OUT_OBJS)
0N/A @$(ECHO) "[*** Creating "$@" shared library ***]"
0N/A -$(RMALL) $(OBJDIR)$(PS)version.*
0N/A $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)mod_openam.dll$(SUB)g" \
0N/A -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc
0N/A $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc
113N/A ${LINK} $(SHARED) $(LDFLAGS) $(OUT_OBJS) $(APACHE_OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\mod_openam.dll \
113N/A /PDB:build\mod_openam.pdb $(LIBS) \
0N/A extlib/Windows/apache24/lib/libapr-1.lib extlib/Windows/apache24/lib/libaprutil-1.lib \
0N/A extlib/Windows/apache24/lib/libhttpd.lib
0N/A
0N/Aapache22: apache22_pre $(OUT_OBJS) $(APACHE22_OUT_OBJS) apache22_post
0N/A @$(ECHO) "[*** Creating "$@" shared library ***]"
113N/A -$(RMALL) $(OBJDIR)$(PS)version.*
0N/A $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)mod_openam.dll$(SUB)g" \
113N/A -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc
113N/A $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc
113N/A ${LINK} $(SHARED) $(LDFLAGS) $(OUT_OBJS) $(APACHE22_OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\mod_openam.dll \
113N/A /PDB:build\mod_openam.pdb $(LIBS) \
0N/A extlib/Windows/apache22/lib/libapr-1.lib extlib/Windows/apache22/lib/libaprutil-1.lib \
0N/A extlib/Windows/apache22/lib/libhttpd.lib
559N/A
0N/Aiis: $(OUT_OBJS) $(IIS_OUT_OBJS)
0N/A @$(ECHO) "[*** Creating "$@" shared library ***]"
113N/A -$(RMALL) $(OBJDIR)$(PS)version.*
113N/A $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)mod_iis_openam.dll$(SUB)g" \
113N/A -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_DLL$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc
0N/A $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc
0N/A ${LINK} $(SHARED) $(LDFLAGS) $(OUT_OBJS) $(IIS_OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\mod_iis_openam.dll \
0N/A /PDB:build\mod_iis_openam.pdb $(LIBS) /EXPORT:RegisterModule oleaut32.lib
0N/A
0N/Avarnish:
0N/A $(error Varnish target is not supported on this platform)
0N/A
0N/Avarnish3:
0N/A $(error Varnish target is not supported on this platform)
0N/A
0N/Aagentadmin: $(OUT_OBJS) $(ADMIN_OUT_OBJS)
0N/A @$(ECHO) "[*** Creating "$@" binary ***]"
0N/A -$(RMALL) $(OBJDIR)$(PS)version.*
0N/A $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)agentadmin.exe$(SUB)g" \
0N/A -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_APP$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc
0N/A $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc
0N/A ${LINK} $(LDFLAGS) $(OUT_OBJS) $(ADMIN_OUT_OBJS) $(OBJDIR)$(PS)version.res /OUT:build\$@.exe /PDB:build\$@.pdb \
0N/A $(LIBS) ole32.lib oleaut32.lib ahadmin.lib
263N/A
0N/Atests: clean build version test_includes $(OUT_OBJS) $(TEST_OBJECTS)
361N/A @$(ECHO) "[***** Building "$@" binary *****]"
263N/A -$(RMALL) $(OBJDIR)$(PS)version.*
263N/A $(SED) -e "s$(SUB)_FILE_NAME_$(SUB)test.exe$(SUB)g" \
263N/A -e "s$(SUB)_FILE_TYPE_$(SUB)VFT_APP$(SUB)g" < source$(PS)version.rc.template > $(OBJDIR)$(PS)version.rc
0N/A $(RC) /l 0x0409 /nologo /fo $(OBJDIR)$(PS)version.res $(OBJDIR)$(PS)version.rc
0N/A ${LINK} $(LDFLAGS) $(OUT_OBJS) $(TEST_OBJECTS) $(OBJDIR)$(PS)version.res /OUT:build$(PS)test.exe $(LIBS)
0N/A
113N/Aendif
0N/A