# initialise the global object model with defaults (gets around bug where appending # to an empty variable sometimes causes 'virtual memory exhausted' error). # Options.*.AppType?= Options.*.Compile.*?= Options.*.Compile.*.Defines?= Options.*.Compile.*.Includes?= Options.*.Compile.c?= Options.*.Compile.c.Defines?= Options.*.Compile.c.Includes?= Options.*.Compile.cpp?= Options.*.Compile.cpp.Defines?= Options.*.Compile.cpp.Includes?= Options.*.exe?= Options.*.exe.Paths?= Options.*.exe.Libraries?= Options.*.lib?= Options.*.lib.Libraries?= Options.*.dll?= Options.*.dll.Paths?= Options.*.dll.Libraries?= # initialise the global object model with defaults (gets around bug where appending # to an empty variable sometimes causes 'virtual memory exhausted' error). # Options.memdebug.lib.AppType?= Options.memdebug.lib.Compile.*?= Options.memdebug.lib.Compile.*.Defines?= Options.memdebug.lib.Compile.*.Includes?= Options.memdebug.lib.Compile.c?= Options.memdebug.lib.Compile.c.Defines?= Options.memdebug.lib.Compile.c.Includes?= Options.memdebug.lib.Compile.cpp?= Options.memdebug.lib.Compile.cpp.Defines?= Options.memdebug.lib.Compile.cpp.Includes?= Options.memdebug.lib?= Options.memdebug.lib.Paths?= Options.memdebug.lib.Components.Libraries?= Options.memdebug.lib.Components.Objects?= Options.memdebug.lib.Libraries?= Options.memdebug.lib.Libraries.System?= Options.memdebug.lib.Libraries.Internal?= # note that even if "make all" not invoked we still have to make internal dependent # libraries. # Options.memdebug.lib.Compile.*.Includes+=$(if $(memdebug.lib.Libraries.Internal),$(call StripLastSlash,$(dir $(memdebug.lib.Libraries.Internal))),) Options.memdebug.lib.Components.Libraries=$(if $(IsReleaseMode),memdebug,) memdebug.lib: Options.*.Compile.*+=$(Options.memdebug.lib.Compile.*) memdebug.lib: Options.*.Compile.*.Defines+=$(Options.memdebug.lib.Compile.*.Defines) memdebug.lib: Options.*.Compile.*.Includes+=$(Options.memdebug.lib.Compile.*.Includes) memdebug.lib: Options.*.Compile.c+=$(Options.memdebug.lib.Compile.c) memdebug.lib: Options.*.Compile.c.Defines+=$(Options.memdebug.lib.Compile.c.Defines) memdebug.lib: Options.*.Compile.c.Includes+=$(Options.memdebug.lib.Compile.c.Includes) memdebug.lib: Options.*.Compile.cpp+=$(Options.memdebug.lib.Compile.cpp) memdebug.lib: Options.*.Compile.cpp.Defines+=$(Options.memdebug.lib.Compile.cpp.Defines) memdebug.lib: Options.*.Compile.cpp.Includes+=$(Options.memdebug.lib.Compile.cpp.Includes) memdebug.lib: Options.*.lib+=$(Options.memdebug.lib) [>>>>]memdebug.lib: Options.*.lib.Libraries+=$(addsuffix .lib,$(Options.memdebug.lib.Libraries) $(Options.memdebug.lib.Libraries.System) $(Options.memdebug.lib.Libraries.Internal) $(Options.memdebug.lib.Components.Libraries) $(Options.memdebug.lib.Components.Objects)) # generate the dependencies for this particular target # memdebug.lib: $(addprefix ../../Include/,$(memdebug.lib.Exports)) $(call GetObjectNames,memdebug.lib) # generate auxiliary rules for exporting the library if exports are specified. # %.lib: ifneq ($(memdebug.lib.Exports),) @echo - publishing $(@F)... @if not exist $(call GetNativeName,$(BINPATH)) mkdir $(call GetNativeName,$(BINPATH)) @copy $(call GetNativeName,$@ ../../Build) >NUL .PRECIOUS: ../../Include/%.h ../../Include/%.h: %.h @echo - publishing $<... @if not exist $(call GetNativeName,$(EXPPATH)) mkdir $(call GetNativeName,$(EXPPATH)) @copy $(GetNativeName,$< $@) >NUL # generate build rules for maintaining includes. # includes: $(addprefix $(EXPPATH)/,$(memdebug.lib.Exports)) else # ifneq ($(memdebug.lib.Exports),) @echo - library $(@F) built... endif # ifneq ($(memdebug.lib.Exports),)