# NMake Makefile for building HarfBuzz as a DLL on Windows

# The items below this line should not be changed, unless one is maintaining
# the NMake Makefiles.  Customizations can be done in the following NMake Makefile
# portions (please see comments in the these files to see what can be customized):
#
# detectenv-msvc.mak
# config-msvc.mak

!include detectenv-msvc.mak

# Include the Makefile portions with the source listings
!include ..\src\Makefile.sources
!include ..\src\hb-ucdn\Makefile.sources
!include ..\util\Makefile.sources

# We need to include the sources in ..\src\hb-ucdn indirectly
!if [call create-lists.bat header hb_ucdn_srcs.mak hb_ucdn_SRCS]
!endif

!if [for %c in ($(LIBHB_UCDN_sources)) do @call create-lists.bat file hb_ucdn_srcs.mak hb-ucdn\%c]
!endif

!if [call create-lists.bat footer hb_ucdn_srcs.mak]
!endif

!include hb_ucdn_srcs.mak

!if [del /f /q hb_ucdn_srcs.mak]
!endif

# Include the Makefile portion that enables features based on user input
!include config-msvc.mak

!if "$(VALID_CFGSET)" == "TRUE"

# Include the Makefile portion to convert the source and header lists
# into the lists we need for compilation and introspection
!include create-lists-msvc.mak

all: $(HB_LIBS) $(HB_UTILS) $(EXTRA_TARGETS) all-build-info

tests: all $(HB_TESTS)

# Include the build rules for sources, DLLs and executables
!include build-rules-msvc.mak

# Include the rules for build directory creation and code generation
!include generate-msvc.mak

# Generate the introspection files

!if "$(INTROSPECTION)" == "1"
# Include the rules for building the introspection files
!include introspection-msvc.mak
!include hb-introspection-msvc.mak
!endif

!include install.mak

!else
all: help
	@echo You need to specify a valid configuration, via
	@echo CFG=release or CFG=debug
!endif

!include info-msvc.mak
