1*042d53a7SEvalZero# 2*042d53a7SEvalZero# Licensed to the Apache Software Foundation (ASF) under one 3*042d53a7SEvalZero# or more contributor license agreements. See the NOTICE file 4*042d53a7SEvalZero# distributed with this work for additional information 5*042d53a7SEvalZero# regarding copyright ownership. The ASF licenses this file 6*042d53a7SEvalZero# to you under the Apache License, Version 2.0 (the 7*042d53a7SEvalZero# "License"); you may not use this file except in compliance 8*042d53a7SEvalZero# with the License. You may obtain a copy of the License at 9*042d53a7SEvalZero# 10*042d53a7SEvalZero# http://www.apache.org/licenses/LICENSE-2.0 11*042d53a7SEvalZero# 12*042d53a7SEvalZero# Unless required by applicable law or agreed to in writing, 13*042d53a7SEvalZero# software distributed under the License is distributed on an 14*042d53a7SEvalZero# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15*042d53a7SEvalZero# KIND, either express or implied. See the License for the 16*042d53a7SEvalZero# specific language governing permissions and limitations 17*042d53a7SEvalZero# under the License. 18*042d53a7SEvalZero# 19*042d53a7SEvalZero 20*042d53a7SEvalZero# Toolchain commands 21*042d53a7SEvalZeroCROSS_COMPILE ?= 22*042d53a7SEvalZeroCC := ccache $(CROSS_COMPLIE)gcc 23*042d53a7SEvalZeroCXX := ccache $(CROSS_COMPILE)g++ 24*042d53a7SEvalZeroLD := $(CROSS_COMPILE)gcc 25*042d53a7SEvalZeroAR := $(CROSS_COMPILE)ar 26*042d53a7SEvalZeroAS := $(CROSS_COMPILE)as 27*042d53a7SEvalZeroNM := $(CROSS_COMPILE)nm 28*042d53a7SEvalZeroOBJDUMP := $(CROSS_COMPILE)objdump 29*042d53a7SEvalZeroOBJCOPY := $(CROSS_COMPILE)objcopy 30*042d53a7SEvalZeroSIZE := $(CROSS_COMPILE)size 31*042d53a7SEvalZero 32*042d53a7SEvalZero# Configure NimBLE variables 33*042d53a7SEvalZeroNIMBLE_ROOT := ../../.. 34*042d53a7SEvalZeroNIMBLE_CFG_TINYCRYPT := 1 35*042d53a7SEvalZeroinclude $(NIMBLE_ROOT)/porting/nimble/Makefile.defs 36*042d53a7SEvalZero 37*042d53a7SEvalZero# Add dummy NPL, dummy HCI transport and all NimBLE sources to build 38*042d53a7SEvalZeroSRC = \ 39*042d53a7SEvalZero $(NIMBLE_ROOT)/porting/npl/dummy/src/npl_os_dummy.c \ 40*042d53a7SEvalZero $(NIMBLE_ROOT)/porting/npl/dummy/src/hci_dummy.c \ 41*042d53a7SEvalZero $(NIMBLE_SRC) \ 42*042d53a7SEvalZero $(TINYCRYPT_SRC) \ 43*042d53a7SEvalZero main.c \ 44*042d53a7SEvalZero 45*042d53a7SEvalZero# Add dummy NPL and all NimBLE directories to include paths 46*042d53a7SEvalZeroINC = \ 47*042d53a7SEvalZero $(NIMBLE_ROOT)/porting/npl/dummy/include \ 48*042d53a7SEvalZero $(NIMBLE_INCLUDE) \ 49*042d53a7SEvalZero $(TINYCRYPT_INCLUDE) \ 50*042d53a7SEvalZero $(INCLUDE) \ 51*042d53a7SEvalZero 52*042d53a7SEvalZeroOBJ := $(SRC:.c=.o) 53*042d53a7SEvalZeroTINYCRYPT_OBJ := $(TINYCRYPT_SRC:.c=.o) 54*042d53a7SEvalZero 55*042d53a7SEvalZeroCFLAGS := $(NIMBLE_CFLAGS) 56*042d53a7SEvalZero 57*042d53a7SEvalZero.PHONY: all clean 58*042d53a7SEvalZero.DEFAULT: all 59*042d53a7SEvalZero 60*042d53a7SEvalZeroall: dummy 61*042d53a7SEvalZero 62*042d53a7SEvalZeroclean: 63*042d53a7SEvalZero rm $(OBJ) -f 64*042d53a7SEvalZero rm dummy -f 65*042d53a7SEvalZero 66*042d53a7SEvalZero$(TINYCRYPT_OBJ): CFLAGS+=$(TINYCRYPT_CFLAGS) 67*042d53a7SEvalZero 68*042d53a7SEvalZero%.o: %.c 69*042d53a7SEvalZero $(CC) -c $(addprefix -I, $(INC)) $(CFLAGS) -o $@ $< 70*042d53a7SEvalZero 71*042d53a7SEvalZerodummy: $(OBJ) $(TINYCRYPT_OBJ) 72*042d53a7SEvalZero $(CC) -o $@ $^ 73