1# Convert the source listing to object (.obj) listing in 2# another NMake Makefile module, include it, and clean it up. 3# This is a "fact-of-life" regarding NMake Makefiles... 4# This file does not need to be changed unless one is maintaining the NMake Makefiles 5 6# For those wanting to add things here: 7# To add a list, do the following: 8# # $(description_of_list) 9# if [call create-lists.bat header $(makefile_snippet_file) $(variable_name)] 10# endif 11# 12# if [call create-lists.bat file $(makefile_snippet_file) $(file_name)] 13# endif 14# 15# if [call create-lists.bat footer $(makefile_snippet_file)] 16# endif 17# ... (repeat the if [call ...] lines in the above order if needed) 18# !include $(makefile_snippet_file) 19# 20# (add the following after checking the entries in $(makefile_snippet_file) is correct) 21# (the batch script appends to $(makefile_snippet_file), you will need to clear the file unless the following line is added) 22#!if [del /f /q $(makefile_snippet_file)] 23#!endif 24 25# In order to obtain the .obj filename that is needed for NMake Makefiles to build DLLs/static LIBs or EXEs, do the following 26# instead when doing 'if [call create-lists.bat file $(makefile_snippet_file) $(file_name)]' 27# (repeat if there are multiple $(srcext)'s in $(source_list), ignore any headers): 28# !if [for %c in ($(source_list)) do @if "%~xc" == ".$(srcext)" @call create-lists.bat file $(makefile_snippet_file) $(intdir)\%~nc.obj] 29# 30# $(intdir)\%~nc.obj needs to correspond to the rules added in build-rules-msvc.mak 31# %~xc gives the file extension of a given file, %c in this case, so if %c is a.cc, %~xc means .cc 32# %~nc gives the file name of a given file without extension, %c in this case, so if %c is a.cc, %~nc means a 33 34NULL= 35 36# For HarfBuzz 37!if [call create-lists.bat header hb_objs.mak harfbuzz_dll_OBJS] 38!endif 39 40!if [for %c in ($(HB_SOURCES)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\harfbuzz\%~nc.obj] 41!endif 42 43!if [for %c in ($(HB_SOURCES)) do @if "%~xc" == ".c" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\harfbuzz\%~nc.obj] 44!endif 45 46!if [call create-lists.bat footer hb_objs.mak] 47!endif 48 49# For HarfBuzz-GObject 50!if "$(GOBJECT)" == "1" 51 52!if [call create-lists.bat header hb_objs.mak harfbuzz_gobject_OBJS] 53!endif 54 55!if [for %c in ($(HB_GOBJECT_sources) $(HB_GOBJECT_ENUM_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\harfbuzz-gobject\%~nc.obj] 56!endif 57 58!if [call create-lists.bat footer hb_objs.mak] 59!endif 60!endif 61 62# For the utility programs (GLib support is required) 63!if "$(GLIB)" == "1" 64 65# For hb-view, Cairo-FT support is required 66!if "$(CAIRO_FT)" == "1" 67 68!if [call create-lists.bat header hb_objs.mak hb_view_OBJS] 69!endif 70 71!if [for %c in ($(HB_VIEW_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\util\%~nc.obj] 72!endif 73 74!if [call create-lists.bat footer hb_objs.mak] 75!endif 76!endif 77 78# For hb-shape 79!if [call create-lists.bat header hb_objs.mak hb_shape_OBJS] 80!endif 81 82!if [for %c in ($(HB_SHAPE_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\util\%~nc.obj] 83!endif 84 85!if [call create-lists.bat footer hb_objs.mak] 86!endif 87 88# For hb-ot-shape-closure 89 90!if [call create-lists.bat header hb_objs.mak hb_ot_shape_closure_OBJS] 91!endif 92 93!if [for %c in ($(HB_OT_SHAPE_CLOSURE_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\util\%~nc.obj] 94!endif 95 96!if [call create-lists.bat footer hb_objs.mak] 97!endif 98 99!endif 100 101!include hb_objs.mak 102 103!if [del /f /q hb_objs.mak] 104!endif 105 106# Gather the list of headers and sources for introspection and glib-mkenums 107!if [call create-lists.bat header hb_srcs.mak HB_ACTUAL_HEADERS] 108!endif 109 110!if [for %h in ($(HB_HEADERS)) do @call create-lists.bat file hb_srcs.mak ..\src\%h] 111!endif 112 113!if [call create-lists.bat footer hb_srcs.mak] 114!endif 115 116# Gather the lists of sources for introspection 117!if [call create-lists.bat header hb_srcs.mak HB_ACTUAL_SOURCES] 118!endif 119 120!if [for %s in ($(HB_SOURCES)) do @call create-lists.bat file hb_srcs.mak ..\src\%s] 121!endif 122 123!if [call create-lists.bat footer hb_srcs.mak] 124!endif 125 126!if [call create-lists.bat header hb_srcs.mak HB_GOBJECT_ACTUAL_SOURCES] 127!endif 128 129!if [for %s in ($(HB_GOBJECT_sources) $(HB_GOBJECT_STRUCTS_headers)) do @call create-lists.bat file hb_srcs.mak ..\src\%s] 130!endif 131 132!if [call create-lists.bat footer hb_srcs.mak] 133!endif 134 135!include hb_srcs.mak 136 137!if [del /f /q hb_srcs.mak] 138!endif 139