Rev 4055 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2726 | vana | 1 | # |
2 | # Copyright (C) 1999-2001 Hewlett-Packard Co. |
||
3 | # Contributed by David Mosberger <davidm@hpl.hp.com> |
||
4 | # Contributed by Stephane Eranian <eranian@hpl.hp.com> |
||
5 | # |
||
6 | # This file is part of the gnu-efi package. |
||
7 | # |
||
8 | # GNU-EFI is free software; you can redistribute it and/or modify |
||
9 | # it under the terms of the GNU General Public License as published by |
||
10 | # the Free Software Foundation; either version 2, or (at your option) |
||
11 | # any later version. |
||
12 | # |
||
13 | # GNU-EFI is distributed in the hope that it will be useful, |
||
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||
16 | # GNU General Public License for more details. |
||
17 | # |
||
18 | # You should have received a copy of the GNU General Public License |
||
19 | # along with GNU-EFI; see the file COPYING. If not, write to the Free |
||
20 | # Software Foundation, 59 Temple Place - Suite 330, Boston, MA |
||
21 | # 02111-1307, USA. |
||
22 | # |
||
4296 | trochtova | 23 | |
2738 | vana | 24 | prefix=$(PREFIX) |
2726 | vana | 25 | include ../Make.defaults |
26 | CDIR=$(TOPDIR)/.. |
||
27 | LINUX_HEADERS = /usr/src/sys/build |
||
28 | CPPFLAGS += -D__KERNEL__ -I$(LINUX_HEADERS)/include |
||
29 | CRTOBJS = ../gnuefi/crt0-efi-$(ARCH).o |
||
30 | LDSCRIPT = ../gnuefi/elf_$(ARCH)_efi.lds |
||
31 | LDFLAGS += -T $(LDSCRIPT) -shared -Bsymbolic -L../lib -L../gnuefi $(CRTOBJS) |
||
4055 | trochtova | 32 | LOADLIBES = -lefi -lgnuefi |
2726 | vana | 33 | FORMAT = efi-app-$(ARCH) |
34 | |||
2738 | vana | 35 | all: gefi hello.efi |
2726 | vana | 36 | |
37 | clean: |
||
4055 | trochtova | 38 | rm -f *.efi *~ *.o *.so *.map *.disass *.bin |
2726 | vana | 39 | |
40 | .PHONY: install |
||
41 | |||
42 | hello.efi: hello.so |
||
43 | $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \ |
||
44 | -j .rela -j .reloc --target=$(FORMAT) hello.so hello.efi |
||
45 | |||
4055 | trochtova | 46 | #When selected first lines or second lines, select if image is linked into hello or not - usefull for network boot |
47 | #hello.so: hello.o image.o division.o |
||
48 | hello.so: hello.o image.bin division.o |
||
49 | # $(LD) $(LDFLAGS) -Map hello.map hello.o division.o image.o -o hello.so $(LOADLIBES) #link image inside hello |
||
50 | $(LD) $(LDFLAGS) -Map hello.map hello.o division.o -o hello.so $(LOADLIBES) #dont link image inside hello |
||
2726 | vana | 51 | |
52 | hello.o: hello.c |
||
53 | $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c hello.c -o hello.o |
||
54 | |||
4055 | trochtova | 55 | division.o: division.c |
56 | $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c division.c -o division.o |
||
57 | |||
58 | image.bin: ../../image.boot |
||
2738 | vana | 59 | $(OBJCOPY) -O binary ../../image.boot image.bin |
2726 | vana | 60 | |
4055 | trochtova | 61 | image.o: ../../image.boot mkimage |
62 | $(OBJCOPY) -O binary ../../image.boot image.bin |
||
63 | ./mkimage |
||
64 | $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c image.c -o image.o |
||
65 | # $(OBJCOPY) -I binary -O elf64-ia64-little -B ia64 image.bin image.o |
||
66 | |||
67 | mkimage: mkimage.c |
||
68 | gcc -o mkimage mkimage.c |
||
69 | |||
2738 | vana | 70 | gefi: |
71 | make -C .. prefix=$(PREFIX) |