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 := $(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_BASE_SOURCE_DIR := $(PWD)/ast/base 93ca0551cfSopenharmony_ciAST_BASE_SOURCE := $(wildcard $(AST_BASE_SOURCE_DIR)/*.cpp) 94ca0551cfSopenharmony_ciAST_BASE_OBJS_DIR := $(BUILD_DIR)/ast/base 95ca0551cfSopenharmony_ciAST_BASE_OBJS := $(addprefix $(AST_BASE_OBJS_DIR)/, $(patsubst %.cpp, %.o, $(notdir $(AST_BASE_SOURCE)))) 96ca0551cfSopenharmony_ci 97ca0551cfSopenharmony_ciAST_SOURCE_DIR := $(PWD)/ast 98ca0551cfSopenharmony_ciAST_SOURCE := $(wildcard $(AST_SOURCE_DIR)/*.cpp) 99ca0551cfSopenharmony_ciAST_OBJS_DIR := $(BUILD_DIR)/ast 100ca0551cfSopenharmony_ciAST_OBJS := $(addprefix $(AST_OBJS_DIR)/, $(patsubst %.cpp, %.o, $(notdir $(AST_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 := $(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_OBJS) $(AST_BASE_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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(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) mkdir -p $(BOUNDS_CHECK_OBJS_DIR) 213ca0551cfSopenharmony_ci $(Q) $(CXX) $(CXXFLAGS) $(INCLUDES) -c $^ -o $@ 214ca0551cfSopenharmony_ci 215ca0551cfSopenharmony_ciclean: 216ca0551cfSopenharmony_ci $(Q) rm -rf $(TARGET) $(BUILD_DIR) 217ca0551cfSopenharmony_ci 218ca0551cfSopenharmony_ci.PHONY:all clean