Merge branch 'release/v01.05.06.00'
[openmp/ti-openmpacc.git] / Makefile
1 ##
2 ##  Copyright (c) 2014-2018, Texas Instruments Incorporated
3 ##
4 ##  Redistribution and use in source and binary forms, with or without
5 ##  modification, are permitted provided that the following conditions
6 ##  are met:
7 ##
8 ##  *  Redistributions of source code must retain the above copyright
9 ##     notice, this list of conditions and the following disclaimer.
10 ##
11 ##  *  Redistributions in binary form must reproduce the above copyright
12 ##     notice, this list of conditions and the following disclaimer in the
13 ##     documentation and/or other materials provided with the distribution.
14 ##
15 ##  *  Neither the name of Texas Instruments Incorporated nor the names of
16 ##     its contributors may be used to endorse or promote products derived
17 ##     from this software without specific prior written permission.
18 ##
19 ##  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20 ##  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 ##  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 ##  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24 ##  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25 ##  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
26 ##  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
27 ##  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
28 ##  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
29 ##  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 ##
31 ##  ======== Makefile ========
32 ##
34 .PHONY: all clean openmpacc install examples
35 .SILENT:
37 include Makefile.inc
39 OMPACC_DPKG_NAME        := ti-openmpacc
40 OMPACC_BUILD_DIR        := build/$(TARGET)
41 OMPACC_SRC_DIR          := host
42 OMPACC_EXAMPLES_DIR := examples
44 BUILD_MACHINE=$(shell uname -m)
46 ifeq (,$(findstring arm,$(BUILD_MACHINE)))
47 OMPACC_CMAKE_OPTS=-DCMAKE_TOOLCHAIN_FILE=../../${OMPACC_SRC_DIR}/CMakeARMToolChain.txt -DCROSS_BUILD=ON -DVERSION="$(OMPACC_VER)"
48 else
49 OMPACC_CMAKE_OPTS=
50 endif
52 all: openmpacc examples
54 examples: openmpacc
55         $(MAKE) -C $(OMPACC_EXAMPLES_DIR)
57 openmpacc: $(OMPACC_BUILD_DIR)/Makefile
58         $(MAKE) -C $(OMPACC_BUILD_DIR)
60 $(OMPACC_BUILD_DIR)/Makefile: $(filter-out $(wildcard $(OMPACC_BUILD_DIR)), $(OMPACC_BUILD_DIR))
61         cd $(OMPACC_BUILD_DIR); cmake $(OMPACC_CMAKE_OPTS) ../../${OMPACC_SRC_DIR}
63 $(OMPACC_BUILD_DIR):
64         $(eval OMPACC_VER := $(shell cat $(OMPACC_SRC_DIR)/version.txt))
65         mkdir -p $(OMPACC_BUILD_DIR)
67 install: openmpacc
68         $(MAKE) -C ${OMPACC_BUILD_DIR} install
70 clean:
71         $(MAKE) -C $(OMPACC_SRC_DIR)/clacc clean
72         rm -rf build/*
74 fresh: clean install
76 ifneq ($(ARM_GCC_DIR),)
77 export PATH:=$(ARM_GCC_DIR)/bin:$(PATH)
78 endif
80 OMPACC_VER := $(shell cat $(OMPACC_SRC_DIR)/version.txt)
82 export LINUX_DEVKIT_ROOT
83 export DESTDIR?=$(CURDIR)/install/$(TARGET)
85 realclean: clean
86         $(MAKE) -C $(OMPACC_SRC_DIR)/boost clean