Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 1 | ## |
| 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. |
| 31 | |
Uwe Hermann | 6a441bf | 2008-03-20 19:54:59 +0000 | [diff] [blame] | 32 | CC = gcc |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 33 | CROSS_CFLAGS = -m32 |
| 34 | |
Uwe Hermann | 6a441bf | 2008-03-20 19:54:59 +0000 | [diff] [blame] | 35 | INCLUDES = -I../include |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 36 | INCLUDES += -I$(shell $(CC) $(CROSS_CFLAGS) -print-search-dirs | head -n 1 | cut -d' ' -f2)include |
| 37 | |
Uwe Hermann | 6a441bf | 2008-03-20 19:54:59 +0000 | [diff] [blame] | 38 | LIBPAYLOAD = ../libpayload.a |
| 39 | LIBGCC := $(shell $(CC) $(CROSS_CFLAGS) -print-libgcc-file-name) |
Uwe Hermann | 14a3feb | 2008-03-20 20:46:44 +0000 | [diff] [blame] | 40 | CFLAGS := -Wall -Werror -Os -fno-stack-protector -nostdinc $(INCLUDES) |
Jordan Crouse | f6145c3 | 2008-03-19 23:56:58 +0000 | [diff] [blame] | 41 | |
| 42 | all: hello.elf |
| 43 | |
| 44 | hello.elf: hello.o |
| 45 | ld -T ../libpayload.ldscript -o $@ hello.o ../i386/head.o $(LIBPAYLOAD) $(LIBGCC) |
| 46 | |
| 47 | hello.o: hello.c |
| 48 | $(CC) $(CROSS_CFLAGS) $(CFLAGS) -c -o $@ $< |
| 49 | |
| 50 | clean: |
| 51 | rm -f hello.elf hello.o |