blob: 5931d5eb110d468b6ea638927004ebc7275a2c30 [file] [log] [blame]
Jordan Crousef6145c32008-03-19 23:56:58 +00001##
2## This file is part of the libpayload project.
3##
4## Copyright (C) 2008 Advanced Micro Devices, Inc.
5##
6## Redistribution and use in source and binary forms, with or without
7## modification, are permitted provided that the following conditions
8## are met:
9## 1. Redistributions of source code must retain the above copyright
10## notice, this list of conditions and the following disclaimer.
11## 2. Redistributions in binary form must reproduce the above copyright
12## notice, this list of conditions and the following disclaimer in the
13## documentation and/or other materials provided with the distribution.
14## 3. The name of the author may not be used to endorse or promote products
15## derived from this software without specific prior written permission.
16##
17## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27## SUCH DAMAGE.
28##
29
30# Sample libpayload Makefile.
Andrew Wuc2a80312013-10-07 16:27:01 +080031include ../.xcompile
32include ../.config
33
Nico Hubercbe3c702014-10-12 16:37:42 +020034ARCH-$(CONFIG_LP_ARCH_ARMV) := arm
35ARCH-$(CONFIG_LP_ARCH_POWERPC) := powerpc
36ARCH-$(CONFIG_LP_ARCH_X86) := i386
Andrew Wuc2a80312013-10-07 16:27:01 +080037
38CC := $(CC_$(ARCH-y))
39AS := $(AS_$(ARCH-y))
Stefan Reinauerf7b98f52010-08-28 23:23:47 +000040LIBPAYLOAD_DIR := ../install/libpayload
Andrew Wuc2a80312013-10-07 16:27:01 +080041XCC := CC="$(CC)" $(LIBPAYLOAD_DIR)/bin/lpgcc
42XAS := AS="$(AS)" $(LIBPAYLOAD_DIR)/bin/lpas
Jordan Crousec3e728f2008-04-09 23:05:59 +000043CFLAGS := -Wall -Werror -Os
Uwe Hermann804f4df2008-04-09 23:48:48 +000044TARGET := hello
45OBJS := $(TARGET).o
Jordan Crousef6145c32008-03-19 23:56:58 +000046
Uwe Hermann804f4df2008-04-09 23:48:48 +000047all: $(TARGET).elf
Jordan Crousef6145c32008-03-19 23:56:58 +000048
Uwe Hermann804f4df2008-04-09 23:48:48 +000049$(TARGET).elf: $(OBJS)
Stefan Reinauerf7b98f52010-08-28 23:23:47 +000050 $(XCC) -o $@ $(OBJS)
Jordan Crousef6145c32008-03-19 23:56:58 +000051
Uwe Hermann804f4df2008-04-09 23:48:48 +000052%.o: %.c
Stefan Reinauerf7b98f52010-08-28 23:23:47 +000053 $(XCC) $(CFLAGS) -c -o $@ $<
Jordan Crousef6145c32008-03-19 23:56:58 +000054
Uwe Hermann804f4df2008-04-09 23:48:48 +000055%.S.o: %.S
Stefan Reinauerf7b98f52010-08-28 23:23:47 +000056 $(XAS) --32 -o $@ $<
Uwe Hermann804f4df2008-04-09 23:48:48 +000057
Jordan Crousef6145c32008-03-19 23:56:58 +000058clean:
Uwe Hermann804f4df2008-04-09 23:48:48 +000059 rm -f $(TARGET).elf *.o
60
61distclean: clean