2 #=================================================================================
3 # Copyright (c) 2019-2021 Nokia
4 # Copyright (c) 2018-2021 AT&T Intellectual Property.
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 #==================================================================================
20 # NOTE: this makefile assumes that RMR has been built using the directory .build
21 # at the top most repo directory (e.g. ../../.build). It can be changed
22 # if you need to by adding "build_path=<path>" to the make command line.
23 # To use this makefile to build on a system where RMR is already installed
24 # try: make build_path=/usr/local/lib
26 # By default we prefer the Korn shell (it's just better). If you really need
27 # to build with a dfferent shell add "SHELL=path" to the command line:
28 # make SHELL=/bin/bash
31 .EXPORT_ALL_VARIABLES:
33 #.SHELLFLAGS = -e # hosed on some flavours so keep it off
36 ex_cflags = $(shell echo $$EX_CFLAGS )
38 build_path ?= ../../.build
39 header_path := $(shell find $(build_path) -name 'rmr.h' 2>/dev/null |head -1 | sed 's!/rmr/.*!!' )
41 # use from environment if there so as to allow build to reference installed base
42 C_INCLUDE_PATH ?= $(header_path)
43 LD_LIBRARY_PATH ?= $(build_path):$(build_path)/lib
44 LIBRARY_PATH = $(LD_LIBRARY_PATH)
46 # These programmes are designed to test some basic application level functions
47 # from the perspective of two, or more, communicating processes.
51 all: sender receiver caller mt_receiver v_sender ex_rts_receiver lreceiver lsender
54 # ------ all builds are si95 now ---------------------------------------------------
57 gcc -I $${C_INCLUDE_PATH:-.} $< -g -o $@ -lrmr_si -lpthread -lm
59 # special build rule as it reuses an existing source module with a sepcial define
60 mt_receiver: receiver.c
61 gcc -I $${C_INCLUDE_PATH:-.} -DMTC $< -g -o $@ -lrmr_si -lpthread -lm
64 # --------- housekeeping -----------------------------------------------------------
66 # clean removes intermediates; nuke removes everything that can be built
72 rm -f sender receiver caller mt_receiver v_sender ex_rts_receiver lreceiver lsender