xref: /aosp_15_r20/external/OpenCSD/decoder/tests/build/linux/perr/makefile (revision 02ca8ccacfba7e0df68f3332a95f3180334d6649)
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