1ca0551cfSopenharmony_ci# Copyright (c) 2023-2024 Huawei Device Co., Ltd.
2ca0551cfSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3ca0551cfSopenharmony_ci# you may not use this file except in compliance with the License.
4ca0551cfSopenharmony_ci# You may obtain a copy of the License at
5ca0551cfSopenharmony_ci#
6ca0551cfSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7ca0551cfSopenharmony_ci#
8ca0551cfSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9ca0551cfSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10ca0551cfSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11ca0551cfSopenharmony_ci# See the License for the specific language governing permissions and
12ca0551cfSopenharmony_ci# limitations under the License.
13ca0551cfSopenharmony_ci
14ca0551cfSopenharmony_ciBOUNDS_CHECK_DIR:=$(subst /,\, $(abspath ..\..\..\..\..\third_party\bounds_checking_function))
15ca0551cfSopenharmony_ciINCLUDES:=-I $(PWD) -I $(BOUNDS_CHECK_DIR)\include
16ca0551cfSopenharmony_ci
17ca0551cfSopenharmony_ciCODEGEN_HDI_SOURCE_DIR := $(PWD)\codegen\HDI
18ca0551cfSopenharmony_ciCODEGEN_HDI_SOURCE := $(wildcard $(CODEGEN_HDI_SOURCE_DIR)/*.cpp)
19ca0551cfSopenharmony_ciCODEGEN_HDI_OBJ_DIR := $(BUILD_DIR)\codegen\HDI
20ca0551cfSopenharmony_ciCODEGEN_HDI_OBJS := $(addprefix $(CODEGEN_HDI_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_HDI_SOURCE))))
21ca0551cfSopenharmony_ci
22ca0551cfSopenharmony_ciCODEGEN_HDITYPE_SOURCE_DIR := $(PWD)\codegen\HDI\type
23ca0551cfSopenharmony_ciCODEGEN_HDITYPE_SOURCE := $(wildcard $(CODEGEN_HDITYPE_SOURCE_DIR)/*.cpp)
24ca0551cfSopenharmony_ciCODEGEN_HDITYPE_OBJ_DIR := $(BUILD_DIR)\codegen\HDI\type
25ca0551cfSopenharmony_ciCODEGEN_HDITYPE_OBJS := $(addprefix $(CODEGEN_HDITYPE_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_HDITYPE_SOURCE))))
26ca0551cfSopenharmony_ci
27ca0551cfSopenharmony_ciCODEGEN_HDIC_SOURCE_DIR := $(PWD)\codegen\HDI\c
28ca0551cfSopenharmony_ciCODEGEN_HDIC_SOURCE := $(wildcard $(CODEGEN_HDIC_SOURCE_DIR)/*.cpp)
29ca0551cfSopenharmony_ciCODEGEN_HDIC_OBJ_DIR := $(BUILD_DIR)\codegen\HDI\c
30ca0551cfSopenharmony_ciCODEGEN_HDIC_OBJS := $(addprefix $(CODEGEN_HDIC_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_HDIC_SOURCE))))
31ca0551cfSopenharmony_ci
32ca0551cfSopenharmony_ciCODEGEN_HDICPP_SOURCE_DIR := $(PWD)\codegen\HDI\cpp
33ca0551cfSopenharmony_ciCODEGEN_HDICPP_SOURCE := $(wildcard $(CODEGEN_HDICPP_SOURCE_DIR)/*.cpp)
34ca0551cfSopenharmony_ciCODEGEN_HDICPP_OBJ_DIR := $(BUILD_DIR)\codegen\HDI\cpp
35ca0551cfSopenharmony_ciCODEGEN_HDICPP_OBJS := $(addprefix $(CODEGEN_HDICPP_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_HDICPP_SOURCE))))
36ca0551cfSopenharmony_ci
37ca0551cfSopenharmony_ciCODEGEN_HDIJAVA_SOURCE_DIR := $(PWD)\codegen\HDI\java
38ca0551cfSopenharmony_ciCODEGEN_HDIJAVA_SOURCE := $(wildcard $(CODEGEN_HDIJAVA_SOURCE_DIR)/*.cpp)
39ca0551cfSopenharmony_ciCODEGEN_HDIJAVA_OBJ_DIR := $(BUILD_DIR)\codegen\HDI\java
40ca0551cfSopenharmony_ciCODEGEN_HDIJAVA_OBJS := $(addprefix $(CODEGEN_HDIJAVA_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_HDIJAVA_SOURCE))))
41ca0551cfSopenharmony_ci
42ca0551cfSopenharmony_ciCODEGEN_SA_SOURCE_DIR := $(PWD)\codegen\SA
43ca0551cfSopenharmony_ciCODEGEN_SA_SOURCE := $(wildcard $(CODEGEN_SA_SOURCE_DIR)/*.cpp)
44ca0551cfSopenharmony_ciCODEGEN_SA_OBJ_DIR := $(BUILD_DIR)\codegen\SA
45ca0551cfSopenharmony_ciCODEGEN_SA_OBJS := $(addprefix $(CODEGEN_SA_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_SA_SOURCE))))
46ca0551cfSopenharmony_ci
47ca0551cfSopenharmony_ciCODEGEN_SATYPE_SOURCE_DIR := $(PWD)\codegen\SA\type
48ca0551cfSopenharmony_ciCODEGEN_SATYPE_SOURCE := $(wildcard $(CODEGEN_SATYPE_SOURCE_DIR)/*.cpp)
49ca0551cfSopenharmony_ciCODEGEN_SATYPE_OBJ_DIR := $(BUILD_DIR)\codegen\SA\type
50ca0551cfSopenharmony_ciCODEGEN_SATYPE_OBJS := $(addprefix $(CODEGEN_SATYPE_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_SATYPE_SOURCE))))
51ca0551cfSopenharmony_ci
52ca0551cfSopenharmony_ciCODEGEN_SACPP_SOURCE_DIR := $(PWD)\codegen\SA\cpp
53ca0551cfSopenharmony_ciCODEGEN_SACPP_SOURCE := $(wildcard $(CODEGEN_SACPP_SOURCE_DIR)/*.cpp)
54ca0551cfSopenharmony_ciCODEGEN_SACPP_OBJ_DIR := $(BUILD_DIR)\codegen\SA\cpp
55ca0551cfSopenharmony_ciCODEGEN_SACPP_OBJS := $(addprefix $(CODEGEN_SACPP_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_SACPP_SOURCE))))
56ca0551cfSopenharmony_ci
57ca0551cfSopenharmony_ciCODEGEN_SATS_SOURCE_DIR := $(PWD)\codegen\SA\ts
58ca0551cfSopenharmony_ciCODEGEN_SATS_SOURCE := $(wildcard $(CODEGEN_SATS_SOURCE_DIR)/*.cpp)
59ca0551cfSopenharmony_ciCODEGEN_SATS_OBJ_DIR := $(BUILD_DIR)\codegen\SA\ts
60ca0551cfSopenharmony_ciCODEGEN_SATS_OBJS := $(addprefix $(CODEGEN_SATS_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_SATS_SOURCE))))
61ca0551cfSopenharmony_ci
62ca0551cfSopenharmony_ciCODEGEN_SARUST_SOURCE_DIR := $(PWD)\codegen\SA\rust
63ca0551cfSopenharmony_ciCODEGEN_SARUST_SOURCE := $(wildcard $(CODEGEN_SARUST_SOURCE_DIR)/*.cpp)
64ca0551cfSopenharmony_ciCODEGEN_SARUST_OBJ_DIR := $(BUILD_DIR)\codegen\SA\rust
65ca0551cfSopenharmony_ciCODEGEN_SARUST_OBJS := $(addprefix $(CODEGEN_SARUST_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_SARUST_SOURCE))))
66ca0551cfSopenharmony_ci
67ca0551cfSopenharmony_ciCODEGEN_SOURCE_DIR := $(PWD)\codegen
68ca0551cfSopenharmony_ciCODEGEN_SOURCE := $(wildcard $(CODEGEN_SOURCE_DIR)/*.cpp)
69ca0551cfSopenharmony_ciCODEGEN_OBJ_DIR := $(BUILD_DIR)\codegen
70ca0551cfSopenharmony_ciCODEGEN_OBJS := $(addprefix $(CODEGEN_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(CODEGEN_SOURCE))))
71ca0551cfSopenharmony_ci
72ca0551cfSopenharmony_ciMETADATA_SOURCE_DIR := $(PWD)\metadata
73ca0551cfSopenharmony_ciMETADATA_SOURCE := $(wildcard $(METADATA_SOURCE_DIR)/*.cpp)
74ca0551cfSopenharmony_ciMETADATA_OBJ_DIR := $(BUILD_DIR)\metadata
75ca0551cfSopenharmony_ciMETADATA_OBJS := $(addprefix $(METADATA_OBJ_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(METADATA_SOURCE))))
76ca0551cfSopenharmony_ci
77ca0551cfSopenharmony_ciPARSER_SOURCE_DIR := $(PWD)\parser
78ca0551cfSopenharmony_ciPARSER_SOURCE := $(wildcard $(PARSER_SOURCE_DIR)/*.cpp)
79ca0551cfSopenharmony_ciPARSER_OBJS_DIR := $(BUILD_DIR)\parser
80ca0551cfSopenharmony_ciPARSER_OBJS := $(addprefix $(PARSER_OBJS_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(PARSER_SOURCE))))
81ca0551cfSopenharmony_ci
82ca0551cfSopenharmony_ciPREPROCESSOR_SOURCE_DIR := $(PWD)\preprocessor
83ca0551cfSopenharmony_ciPREPROCESSOR_SOURCE := $(wildcard $(PREPROCESSOR_SOURCE_DIR)/*.cpp)
84ca0551cfSopenharmony_ciPREPROCESSOR_OBJS_DIR := $(BUILD_DIR)\preprocessor
85ca0551cfSopenharmony_ciPREPROCESSOR_OBJS := $(addprefix $(PREPROCESSOR_OBJS_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(PREPROCESSOR_SOURCE))))
86ca0551cfSopenharmony_ci
87ca0551cfSopenharmony_ciLEXER_SOURCE_DIR := $(PWD)\lexer
88ca0551cfSopenharmony_ciLEXER_SOURCE := $(wildcard $(LEXER_SOURCE_DIR)/*.cpp)
89ca0551cfSopenharmony_ciLEXER_OBJS_DIR := $(BUILD_DIR)\lexer
90ca0551cfSopenharmony_ciLEXER_OBJS := $(addprefix $(LEXER_OBJS_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(LEXER_SOURCE))))
91ca0551cfSopenharmony_ci
92ca0551cfSopenharmony_ciAST_SOURCE_DIR := $(PWD)\ast
93ca0551cfSopenharmony_ciAST_SOURCE := $(wildcard $(AST_SOURCE_DIR)/*.cpp)
94ca0551cfSopenharmony_ciAST_OBJS_DIR := $(BUILD_DIR)\ast
95ca0551cfSopenharmony_ciAST_OBJS := $(addprefix $(AST_OBJS_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(AST_SOURCE))))
96ca0551cfSopenharmony_ci
97ca0551cfSopenharmony_ciAST_BASE_SOURCE_DIR := $(PWD)\ast\base
98ca0551cfSopenharmony_ciAST_BASE_SOURCE := $(wildcard $(AST_BASE_SOURCE_DIR)/*.cpp)
99ca0551cfSopenharmony_ciAST_BASE_OBJS_DIR := $(BUILD_DIR)\ast\base
100ca0551cfSopenharmony_ciAST_BASE_OBJS := $(addprefix $(AST_BASE_OBJS_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(AST_BASE_SOURCE))))
101ca0551cfSopenharmony_ci
102ca0551cfSopenharmony_ciHASH_SOURCE_DIR := $(PWD)\hash
103ca0551cfSopenharmony_ciHASH_SOURCE := $(wildcard $(HASH_SOURCE_DIR)/*.cpp)
104ca0551cfSopenharmony_ciHASH_OBJS_DIR := $(BUILD_DIR)\hash
105ca0551cfSopenharmony_ciHASH_OBJS := $(addprefix $(HASH_OBJS_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(HASH_SOURCE))))
106ca0551cfSopenharmony_ci
107ca0551cfSopenharmony_ciUTIL_SOURCE_DIR := $(PWD)\util
108ca0551cfSopenharmony_ciUTIL_SOURCE := $(wildcard $(UTIL_SOURCE_DIR)/*.cpp)
109ca0551cfSopenharmony_ciUTIL_OBJS_DIR := $(BUILD_DIR)\util
110ca0551cfSopenharmony_ciUTIL_OBJS := $(addprefix $(UTIL_OBJS_DIR)\, $(patsubst %.cpp, %.o, $(notdir $(UTIL_SOURCE))))
111ca0551cfSopenharmony_ci
112ca0551cfSopenharmony_ciBOUNDS_CHECK_SOURCE_DIR := $(subst /,\, $(abspath ..\..\..\..\third_party\bounds_checking_function\src))
113ca0551cfSopenharmony_ciBOUNDS_CHECK_SOURCE := $(wildcard $(BOUNDS_CHECK_SOURCE_DIR)\*.c)
114ca0551cfSopenharmony_ciBOUNDS_CHECK_OBJS_DIR := $(BUILD_DIR)\bounds_checking_function
115ca0551cfSopenharmony_ciBOUNDS_CHECK_OBJS := $(addprefix $(BOUNDS_CHECK_OBJS_DIR)\, $(patsubst %.c, %.o, $(notdir $(BOUNDS_CHECK_SOURCE))))
116ca0551cfSopenharmony_ci
117ca0551cfSopenharmony_ciMAIN_SOURCE := $(wildcard *.cpp)
118ca0551cfSopenharmony_ciMAIN_OBJS := $(addprefix $(BUILD_DIR)\, $(patsubst %.cpp, %.o, $(MAIN_SOURCE)))
119ca0551cfSopenharmony_ci
120ca0551cfSopenharmony_ciCODEGEN_HDI_ALL_OBJS := $(CODEGEN_HDI_OBJS) $(CODEGEN_HDITYPE_OBJS) $(CODEGEN_HDIC_OBJS) $(CODEGEN_HDICPP_OBJS) $(CODEGEN_HDIJAVA_OBJS)
121ca0551cfSopenharmony_ciCODEGEN_SA_ALL_OBJS := $(CODEGEN_SA_OBJS) $(CODEGEN_SATYPE_OBJS) $(CODEGEN_SACPP_OBJS) $(CODEGEN_SATS_OBJS) $(CODEGEN_SARUST_OBJS)
122ca0551cfSopenharmony_ciCODEGEN_ALL_OBJS := $(CODEGEN_HDI_ALL_OBJS) $(CODEGEN_SA_ALL_OBJS) $(CODEGEN_OBJS)
123ca0551cfSopenharmony_ciAST_ALL_OBJS := $(AST_BASE_OBJS) $(AST_OBJS)
124ca0551cfSopenharmony_ci
125ca0551cfSopenharmony_ciall:$(TARGET)
126ca0551cfSopenharmony_ci
127ca0551cfSopenharmony_ci$(TARGET) : $(BOUNDS_CHECK_OBJS) $(UTIL_OBJS) $(HASH_OBJS) $(AST_ALL_OBJS) $(LEXER_OBJS) $(PREPROCESSOR_OBJS) $(PARSER_OBJS) $(METADATA_OBJS) $(CODEGEN_ALL_OBJS) $(MAIN_OBJS)
128ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) $^ -o $@
129ca0551cfSopenharmony_ci	$(Q) echo $(TARGET):build successful.
130ca0551cfSopenharmony_ci
131ca0551cfSopenharmony_ci$(BUILD_DIR)\\%.o : %.cpp
132ca0551cfSopenharmony_ci	$(Q) if not exist $(BUILD_DIR) (mkdir $(BUILD_DIR))
133ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
134ca0551cfSopenharmony_ci
135ca0551cfSopenharmony_ci$(CODEGEN_HDITYPE_OBJ_DIR)\\%.o : $(CODEGEN_HDITYPE_SOURCE_DIR)\\%.cpp
136ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_HDITYPE_OBJ_DIR) (mkdir $(CODEGEN_HDITYPE_OBJ_DIR))
137ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
138ca0551cfSopenharmony_ci
139ca0551cfSopenharmony_ci$(CODEGEN_HDIC_OBJ_DIR)\\%.o : $(CODEGEN_HDIC_SOURCE_DIR)\\%.cpp
140ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_HDIC_OBJ_DIR) (mkdir $(CODEGEN_HDIC_OBJ_DIR))
141ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
142ca0551cfSopenharmony_ci
143ca0551cfSopenharmony_ci$(CODEGEN_HDICPP_OBJ_DIR)\\%.o : $(CODEGEN_HDICPP_SOURCE_DIR)\\%.cpp
144ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_HDICPP_OBJ_DIR) (mkdir $(CODEGEN_HDICPP_OBJ_DIR))
145ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
146ca0551cfSopenharmony_ci
147ca0551cfSopenharmony_ci$(CODEGEN_HDIJAVA_OBJ_DIR)\\%.o : $(CODEGEN_HDIJAVA_SOURCE_DIR)\\%.cpp
148ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_HDIJAVA_OBJ_DIR) (mkdir $(CODEGEN_HDIJAVA_OBJ_DIR))
149ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
150ca0551cfSopenharmony_ci
151ca0551cfSopenharmony_ci$(CODEGEN_HDI_OBJ_DIR)\\%.o : $(CODEGEN_HDI_SOURCE_DIR)\\%.cpp
152ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_HDI_OBJ_DIR) (mkdir $(CODEGEN_HDI_OBJ_DIR))
153ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
154ca0551cfSopenharmony_ci
155ca0551cfSopenharmony_ci$(CODEGEN_SATYPE_OBJ_DIR)\\%.o : $(CODEGEN_SATYPE_SOURCE_DIR)\\%.cpp
156ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_SATYPE_OBJ_DIR) (mkdir $(CODEGEN_SATYPE_OBJ_DIR))
157ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
158ca0551cfSopenharmony_ci
159ca0551cfSopenharmony_ci$(CODEGEN_SACPP_OBJ_DIR)\\%.o : $(CODEGEN_SACPP_SOURCE_DIR)\\%.cpp
160ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_SACPP_OBJ_DIR) (mkdir $(CODEGEN_SACPP_OBJ_DIR))
161ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
162ca0551cfSopenharmony_ci
163ca0551cfSopenharmony_ci$(CODEGEN_SATS_OBJ_DIR)\\%.o : $(CODEGEN_SATS_SOURCE_DIR)\\%.cpp
164ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_SATS_OBJ_DIR) (mkdir $(CODEGEN_SATS_OBJ_DIR))
165ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
166ca0551cfSopenharmony_ci
167ca0551cfSopenharmony_ci$(CODEGEN_SARUST_OBJ_DIR)\\%.o : $(CODEGEN_SARUST_SOURCE_DIR)\\%.cpp
168ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_SARUST_OBJ_DIR) (mkdir $(CODEGEN_SARUST_OBJ_DIR))
169ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
170ca0551cfSopenharmony_ci
171ca0551cfSopenharmony_ci$(CODEGEN_SA_OBJ_DIR)\\%.o : $(CODEGEN_SA_SOURCE_DIR)\\%.cpp
172ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_SA_OBJ_DIR) (mkdir $(CODEGEN_SA_OBJ_DIR))
173ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
174ca0551cfSopenharmony_ci
175ca0551cfSopenharmony_ci$(CODEGEN_OBJ_DIR)\\%.o : $(CODEGEN_SOURCE_DIR)\\%.cpp
176ca0551cfSopenharmony_ci	$(Q) if not exist $(CODEGEN_OBJ_DIR) (mkdir $(CODEGEN_OBJ_DIR))
177ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
178ca0551cfSopenharmony_ci
179ca0551cfSopenharmony_ci$(METADATA_OBJ_DIR)\\%.o : $(METADATA_SOURCE_DIR)\\%.cpp
180ca0551cfSopenharmony_ci	$(Q) if not exist $(METADATA_OBJ_DIR) (mkdir $(METADATA_OBJ_DIR))
181ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
182ca0551cfSopenharmony_ci
183ca0551cfSopenharmony_ci$(PARSER_OBJS_DIR)\\%.o : $(PARSER_SOURCE_DIR)\\%.cpp
184ca0551cfSopenharmony_ci	$(Q) if not exist $(PARSER_OBJS_DIR) (mkdir $(PARSER_OBJS_DIR))
185ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
186ca0551cfSopenharmony_ci
187ca0551cfSopenharmony_ci$(PREPROCESSOR_OBJS_DIR)\\%.o : $(PREPROCESSOR_SOURCE_DIR)\\%.cpp
188ca0551cfSopenharmony_ci	$(Q) if not exist $(PREPROCESSOR_OBJS_DIR) (mkdir $(PREPROCESSOR_OBJS_DIR))
189ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
190ca0551cfSopenharmony_ci
191ca0551cfSopenharmony_ci$(LEXER_OBJS_DIR)\\%.o : $(LEXER_SOURCE_DIR)\\%.cpp
192ca0551cfSopenharmony_ci	$(Q) if not exist $(LEXER_OBJS_DIR) (mkdir $(LEXER_OBJS_DIR))
193ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
194ca0551cfSopenharmony_ci
195ca0551cfSopenharmony_ci$(AST_BASE_OBJS_DIR)\\%.o : $(AST_BASE_SOURCE_DIR)\\%.cpp
196ca0551cfSopenharmony_ci	$(Q) if not exist $(AST_BASE_OBJS_DIR) (mkdir $(AST_BASE_OBJS_DIR))
197ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
198ca0551cfSopenharmony_ci
199ca0551cfSopenharmony_ci$(AST_OBJS_DIR)\\%.o : $(AST_SOURCE_DIR)\\%.cpp
200ca0551cfSopenharmony_ci	$(Q) if not exist $(AST_OBJS_DIR) (mkdir $(AST_OBJS_DIR))
201ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
202ca0551cfSopenharmony_ci
203ca0551cfSopenharmony_ci$(HASH_OBJS_DIR)\\%.o : $(HASH_SOURCE_DIR)\\%.cpp
204ca0551cfSopenharmony_ci	$(Q) if not exist $(HASH_OBJS_DIR) (mkdir $(HASH_OBJS_DIR))
205ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
206ca0551cfSopenharmony_ci
207ca0551cfSopenharmony_ci$(UTIL_OBJS_DIR)\\%.o : $(UTIL_SOURCE_DIR)\\%.cpp
208ca0551cfSopenharmony_ci	$(Q) if not exist $(UTIL_OBJS_DIR) (mkdir $(UTIL_OBJS_DIR))
209ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
210ca0551cfSopenharmony_ci
211ca0551cfSopenharmony_ci$(BOUNDS_CHECK_OBJS_DIR)\\%.o : $(BOUNDS_CHECK_SOURCE_DIR)\%.c
212ca0551cfSopenharmony_ci	$(Q) if not exist $(BOUNDS_CHECK_OBJS_DIR) (mkdir $(BOUNDS_CHECK_OBJS_DIR))
213ca0551cfSopenharmony_ci	$(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@
214ca0551cfSopenharmony_ci
215ca0551cfSopenharmony_ciclean:
216ca0551cfSopenharmony_ci	$(Q) if exist $(TARGET) (del $(TARGET))
217ca0551cfSopenharmony_ci	$(Q) if exist $(BUILD_DIR) (rd /s /q $(BUILD_DIR))
218ca0551cfSopenharmony_ci
219ca0551cfSopenharmony_ci.PHONY:all clean