1 # Licensed to the Apache Software Foundation (ASF) under one 2 # or more contributor license agreements. See the NOTICE file 3 # distributed with this work for additional information 4 # regarding copyright ownership. The ASF licenses this file 5 # to you under the Apache License, Version 2.0 (the 6 # "License"); you may not use this file except in compliance 7 # with the License. You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, 12 # software distributed under the License is distributed on an 13 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 # KIND, either express or implied. See the License for the 15 # specific language governing permissions and limitations 16 # under the License. 17 18 NAME := hello_world-rs 19 ARCH ?= aarch64 20 21 OPTEE_DIR ?= ../../../optee 22 23 ifeq ($(ARCH), arm) 24 OPTEE_BIN := $(OPTEE_DIR)/toolchains/aarch32/bin 25 OBJCOPY := $(OPTEE_BIN)/arm-linux-gnueabihf-objcopy 26 TARGET := arm-unknown-linux-gnueabihf 27 else 28 OPTEE_BIN := $(OPTEE_DIR)/toolchains/$(ARCH)/bin 29 OBJCOPY := $(OPTEE_BIN)/aarch64-linux-gnu-objcopy 30 TARGET := aarch64-unknown-linux-gnu 31 endif 32 33 OUT_DIR := $(CURDIR)/target/$(TARGET)/release 34 35 36 all: host strip 37 38 host: 39 @cargo build --target $(TARGET) --release 40 41 strip: 42 @$(OBJCOPY) --strip-unneeded $(OUT_DIR)/$(NAME) $(OUT_DIR)/$(NAME) 43 44 clean: 45 @cargo clean 46