80 lines
2.1 KiB
Makefile
80 lines
2.1 KiB
Makefile
#*******************************************************************************
|
|
# Ledger Blue
|
|
# (c) 2016 Ledger
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#*******************************************************************************
|
|
|
|
ifeq ($(BOLOS_SDK),)
|
|
$(error BOLOS_SDK is not set)
|
|
endif
|
|
include $(BOLOS_SDK)/Makefile.defines
|
|
|
|
# Main app configuration
|
|
|
|
APPNAME = "Hello Perso"
|
|
APPVERSION = 1.0.0
|
|
APP_LOAD_PARAMS = --appFlags 0x40 $(COMMON_LOAD_PARAMS)
|
|
|
|
# Build configuration
|
|
|
|
APP_SOURCE_PATH += src
|
|
SDK_SOURCE_PATH += lib_stusb lib_stusb_impl
|
|
|
|
DEFINES += APPVERSION=\"$(APPVERSION)\"
|
|
|
|
DEFINES += OS_IO_SEPROXYHAL IO_SEPROXYHAL_BUFFER_SIZE_B=128
|
|
DEFINES += HAVE_BAGL HAVE_SPRINTF
|
|
DEFINES += PRINTF\(...\)=
|
|
|
|
DEFINES += HAVE_IO_USB HAVE_L4_USBLIB IO_USB_MAX_ENDPOINTS=7 IO_HID_EP_LENGTH=64 HAVE_USB_APDU
|
|
|
|
# Compiler, assembler, and linker
|
|
|
|
ifneq ($(BOLOS_ENV),)
|
|
$(info BOLOS_ENV=$(BOLOS_ENV))
|
|
CLANGPATH := $(BOLOS_ENV)/clang-arm-fropi/bin/
|
|
GCCPATH := $(BOLOS_ENV)/gcc-arm-none-eabi-5_3-2016q1/bin/
|
|
else
|
|
$(info BOLOS_ENV is not set: falling back to CLANGPATH and GCCPATH)
|
|
endif
|
|
ifeq ($(CLANGPATH),)
|
|
$(info CLANGPATH is not set: clang will be used from PATH)
|
|
endif
|
|
ifeq ($(GCCPATH),)
|
|
$(info GCCPATH is not set: arm-none-eabi-* will be used from PATH)
|
|
endif
|
|
|
|
CC := $(CLANGPATH)clang
|
|
CFLAGS += -O3 -Os
|
|
|
|
AS := $(GCCPATH)arm-none-eabi-gcc
|
|
AFLAGS +=
|
|
|
|
LD := $(GCCPATH)arm-none-eabi-gcc
|
|
LDFLAGS += -O3 -Os
|
|
LDLIBS += -lm -lgcc -lc
|
|
|
|
# Main rules
|
|
|
|
all: default
|
|
|
|
load: all
|
|
python -m ledgerblue.loadApp $(APP_LOAD_PARAMS)
|
|
|
|
delete:
|
|
python -m ledgerblue.deleteApp $(COMMON_DELETE_PARAMS)
|
|
|
|
# Import generic rules from the SDK
|
|
|
|
include $(BOLOS_SDK)/Makefile.rules
|