1## 2## 3## Copyright (C) 2008 Advanced Micro Devices, Inc. 4## 5## Redistribution and use in source and binary forms, with or without 6## modification, are permitted provided that the following conditions 7## are met: 8## 1. Redistributions of source code must retain the above copyright 9## notice, this list of conditions and the following disclaimer. 10## 2. Redistributions in binary form must reproduce the above copyright 11## notice, this list of conditions and the following disclaimer in the 12## documentation and/or other materials provided with the distribution. 13## 3. The name of the author may not be used to endorse or promote products 14## derived from this software without specific prior written permission. 15## 16## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26## SUCH DAMAGE. 27## 28 29 30# Sample libpayload Makefile. 31include ../.config 32ifeq ($(CONFIG_LP_ARCH_MOCK),y) 33$(error This sample program does not support ARCH_MOCK. Use sample/arch_mock instead) 34endif 35 36include ../build/xcompile 37 38ARCH-$(CONFIG_LP_ARCH_ARM) := arm 39ARCH-$(CONFIG_LP_ARCH_X86) := x86_32 40ARCH-$(CONFIG_LP_ARCH_ARM64) := arm64 41 42CC := $(CC_$(ARCH-y)) 43AS := $(AS_$(ARCH-y)) 44LIBPAYLOAD_DIR := ../install/libpayload 45XCC := CC="$(CC)" $(LIBPAYLOAD_DIR)/bin/lpgcc 46XAS := AS="$(AS)" $(LIBPAYLOAD_DIR)/bin/lpas 47CFLAGS := -fno-builtin -Wall -Werror -Os 48TARGET := hello 49OBJS := $(TARGET).o 50 51all: $(TARGET).elf 52 53$(TARGET).elf: $(OBJS) 54 $(XCC) -o $@ $(OBJS) 55 56%.o: %.c 57 $(XCC) $(CFLAGS) -c -o $@ $< 58 59%.S.o: %.S 60 $(XAS) --32 -o $@ $< 61 62clean: 63 rm -f $(TARGET).elf *.o 64 65distclean: clean 66