97 lines
2.8 KiB
Makefile
97 lines
2.8 KiB
Makefile
#-------------------------------------------------------------------------------
|
|
# Copyright (C) 2014-2016 Freescale Semiconductor
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESS OR IMPLIED
|
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
|
|
# SHALL FREESCALE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
|
# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
|
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
|
# OF SUCH DAMAGE.
|
|
#-------------------------------------------------------------------------------
|
|
|
|
#
|
|
# Top-level Makefile.
|
|
#
|
|
# This file is responsible for building all libraries and applications.
|
|
#
|
|
|
|
include mk/erpc_common.mk
|
|
|
|
# Turn off parallel jobs for this makefile only. Child makefiles will still use the
|
|
# specified number of jobs. This isn't strictly necessary, and actually slows the build
|
|
# a little bit, but greatly improves the readability of the log output.
|
|
#.NOTPARALLEL:
|
|
|
|
ifeq "$(is_linux)" "1"
|
|
ERPCSNIFFER = erpcsniffer
|
|
endif
|
|
|
|
# Subdirectories to run make on.
|
|
TESTDIR = test
|
|
SUBDIRS_LIST = erpcgen $(ERPCSNIFFER) $(TESTDIR)
|
|
# test if all exists
|
|
SUBDIRS = $(foreach f,$(SUBDIRS_LIST), $(if $(wildcard $(f)), $(f)))
|
|
|
|
# Default target.
|
|
.PHONY: default
|
|
default: erpc $(ERPCSNIFFER) erpcgen
|
|
|
|
erpcsniffer: erpc
|
|
|
|
.PHONY: erpc
|
|
erpc:
|
|
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -C erpc_c
|
|
|
|
.PHONY: install
|
|
install: erpc erpc_c erpcgen $(ERPCSNIFFER)
|
|
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -C erpc_c install
|
|
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -C erpcgen install
|
|
ifeq "$(is_linux)" "1"
|
|
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -C erpcsniffer install
|
|
endif
|
|
|
|
#make all target
|
|
.PHONY: all
|
|
all: erpc $(SUBDIRS)
|
|
|
|
# Unit Test Targets
|
|
.PHONY: test-tcp
|
|
test-tcp: TESTTARGET := test-tcp
|
|
test-tcp: $(TESTDIR)
|
|
|
|
.PHONY: test-serial
|
|
test-serial: TESTTARGET := test-serial
|
|
test-serial: $(TESTDIR)
|
|
|
|
# Force rebuild
|
|
.PHONY: fresh
|
|
fresh: clean all
|
|
|
|
# define clean_fun
|
|
# $(warning "$(at)$(POWERSHELL) "if (Test-Path $(1)) { $(rmc) $(1) }"")
|
|
# $(at)$(POWERSHELL) 'if (Test-Path $(1)) { $(rmc) $(1) }'
|
|
# endef
|
|
|
|
# Target to clean everything.
|
|
.PHONY: clean
|
|
clean::
|
|
@echo "Deleting output directories..."
|
|
@$(rmc) Debug Release
|
|
@$(rmc) out*.*
|
|
@$(rmc) erpc_outputs
|
|
# @$(call clean_fun,Debug,)
|
|
# @$(call clean_fun,Release,)
|
|
# @$(call clean_fun,erpc_outputs,)
|
|
@echo "done."
|
|
|
|
# Process subdirs
|
|
include $(ERPC_ROOT)/mk/subdirs.mk
|
|
|
|
.PHONY: os_name
|
|
os_name:
|
|
@echo $(os_name)
|