1######################################################## 2# Copyright 2022 ARM Limited. All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without modification, 5# are permitted provided that the following conditions are met: 6# 7# 1. Redistributions of source code must retain the above copyright notice, 8# this list of conditions and the following disclaimer. 9# 10# 2. Redistributions in binary form must reproduce the above copyright notice, 11# this list of conditions and the following disclaimer in the documentation 12# and/or other materials provided with the distribution. 13# 14# 3. Neither the name of the copyright holder nor the names of its contributors 15# may be used to endorse or promote products derived from this software without 16# specific prior written permission. 17# 18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND 19# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 22# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28# 29################################################################################# 30 31######## 32# opencsd: makefile for the perr error lister 33# 34 35CXX := $(MASTER_CXX) 36LINKER := $(MASTER_LINKER) 37 38PROG = ocsd-perr 39 40BUILD_DIR=./$(PLAT_DIR) 41 42VPATH = $(OCSD_TESTS)/source 43 44CXX_INCLUDES = \ 45 -I$(OCSD_TESTS)/source \ 46 -I$(OCSD_INCLUDE) 47 48OBJECTS = $(BUILD_DIR)/perr.o 49 50LIBS = -L$(LIB_TEST_TARGET_DIR) -L$(LIB_TARGET_DIR) -l$(LIB_BASE_NAME) 51 52all: copy_libs 53 54test_app: $(BIN_TEST_TARGET_DIR)/$(PROG) 55 56 57 $(BIN_TEST_TARGET_DIR)/$(PROG): $(OBJECTS) | build_dir 58 mkdir -p $(BIN_TEST_TARGET_DIR) 59 $(LINKER) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $(BIN_TEST_TARGET_DIR)/$(PROG) 60 61build_dir: 62 mkdir -p $(BUILD_DIR) 63 64.PHONY: copy_libs 65copy_libs: $(BIN_TEST_TARGET_DIR)/$(PROG) 66 cp $(LIB_TARGET_DIR)/*.so* $(BIN_TEST_TARGET_DIR)/. 67 68 69 70#### build rules 71## object dependencies 72DEPS := $(OBJECTS:%.o=%.d) 73 74-include $(DEPS) 75 76## object compile 77$(BUILD_DIR)/%.o : %.cpp | build_dir 78 $(CXX) $(CXXFLAGS) $(CXX_INCLUDES) -MMD $< -o $@ 79 80#### clean 81.PHONY: clean 82clean : 83 -rm $(BIN_TEST_TARGET_DIR)/$(PROG) $(OBJECTS) 84 -rm $(DEPS) 85 -rm $(BIN_TEST_TARGET_DIR)/*.so* 86 -rmdir $(BUILD_DIR) 87 88# end of file makefile 89