9b5574bf9e055761faa07fe126c53a2ae3ba5c8a
[platform/upstream/harfbuzz.git] / win32 / create-lists-msvc.mak
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
34 NULL=
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 HarfBuzz-ICU
63 !if "$(ICU)" == "1"
64
65 !if [call create-lists.bat header hb_objs.mak harfbuzz_icu_OBJS]
66 !endif
67
68 !if [for %c in ($(HB_ICU_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\harfbuzz-icu\%~nc.obj]
69 !endif
70
71 !if [call create-lists.bat footer hb_objs.mak]
72 !endif
73 !endif
74
75 # For the utility programs (GLib support is required)
76 !if "$(GLIB)" == "1"
77
78 # For hb-view, Cairo-FT support is required
79 !if "$(CAIRO_FT)" == "1"
80
81 !if [call create-lists.bat header hb_objs.mak hb_view_OBJS]
82 !endif
83
84 !if [for %c in ($(HB_VIEW_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\util\%~nc.obj]
85 !endif
86
87 !if [call create-lists.bat footer hb_objs.mak]
88 !endif
89 !endif
90
91 # For hb-shape
92 !if [call create-lists.bat header hb_objs.mak hb_shape_OBJS]
93 !endif
94
95 !if [for %c in ($(HB_SHAPE_sources)) do @if "%~xc" == ".cc" @call create-lists.bat file hb_objs.mak ^$(CFG)\^$(PLAT)\util\%~nc.obj]
96 !endif
97
98 !if [call create-lists.bat footer hb_objs.mak]
99 !endif
100
101 # For hb-ot-shape-closure
102
103 !if [call create-lists.bat header hb_objs.mak hb_ot_shape_closure_OBJS]
104 !endif
105
106 !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]
107 !endif
108
109 !if [call create-lists.bat footer hb_objs.mak]
110 !endif
111
112 !endif
113
114 !include hb_objs.mak
115
116 !if [del /f /q hb_objs.mak]
117 !endif
118
119 # Gather the list of headers and sources for introspection and glib-mkenums
120 !if [call create-lists.bat header hb_srcs.mak HB_ACTUAL_HEADERS]
121 !endif
122
123 !if [for %h in ($(HB_HEADERS)) do @call create-lists.bat file hb_srcs.mak ..\src\%h]
124 !endif
125
126 !if [call create-lists.bat footer hb_srcs.mak]
127 !endif
128
129 # Gather the lists of sources for introspection
130 !if [call create-lists.bat header hb_srcs.mak HB_ACTUAL_SOURCES]
131 !endif
132
133 !if [for %s in ($(HB_SOURCES)) do @call create-lists.bat file hb_srcs.mak ..\src\%s]
134 !endif
135
136 !if [call create-lists.bat footer hb_srcs.mak]
137 !endif
138
139 !if [call create-lists.bat header hb_srcs.mak HB_GOBJECT_ACTUAL_SOURCES]
140 !endif
141
142 !if [for %s in ($(HB_GOBJECT_sources) $(HB_GOBJECT_STRUCTS_headers)) do @call create-lists.bat file hb_srcs.mak ..\src\%s]
143 !endif
144
145 !if [call create-lists.bat footer hb_srcs.mak]
146 !endif
147
148 !include hb_srcs.mak
149
150 !if [del /f /q hb_srcs.mak]
151 !endif