Mercurial > hg > Members > taiki > EFIKernel
annotate Makefile @ 1:10316df81650
start to write efi source of "bootx64.c".
author | one |
---|---|
date | Thu, 13 Dec 2012 03:46:48 +0900 |
parents | e091e06fdd2d |
children |
rev | line source |
---|---|
1 | 1 ARCH =$(shell uname -m |sed s,i[3456789]86,ia32,) |
2 LIB_PATH = /usr/lib64 | |
3 EFI_INCLUDE = /usr/include/efi | |
4 EFI_INCLUDES = -nostdinc -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol | |
5 | |
6 EFI_PATH = /usr/lib64/gnuefi | |
7 EFI_CRT_OBJS = $(EFI_PATH)/crt0-efi-$(ARCH).o | |
8 EFI_LDS = $(EFI_PATH)/elf_$(ARCH)_efi.lds | |
9 | |
10 CFLAGS = -fno-stack-protector -fpic -fshort-wchar -mno-red-zone $(EFI_INCLUDES) | |
11 ifeq ($(ARCH),x86_64) | |
12 CFLAGS += -DEFI_FUNCTION_WRAPPER | |
13 endif | |
14 | |
15 LDFLAGS = -nostdlib -znocombreloc -T $(EFI_LDS) -shared -Bsymbolic -L$(EFI_PATH) -L$(LIB_PATH) \ | |
16 $(EFI_CRT_OBJS) -lefi -lgnuefi | |
0
e091e06fdd2d
start to develop efi kernel. add Makefile and Makefile.def
Taiki TAIRA <e095767@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 |
1 | 18 TARGET = bootx64.efi |
19 OBJS = bootx64.o | |
20 SOURCES = bootx64.c | |
21 | |
22 all: $(TARGET) | |
23 | |
24 bootx64.so: $(OBJS) | |
25 $(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS) | |
0
e091e06fdd2d
start to develop efi kernel. add Makefile and Makefile.def
Taiki TAIRA <e095767@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 |
1 | 27 %.efi: %.so |
28 objcopy -j .text -j .sdata -j .data \ | |
29 -j .dynamic -j .dynsym -j .rel \ | |
30 -j .rela -j .reloc -j .eh_frame \ | |
31 --target=efi-app-$(ARCH) $^ $@ | |
32 | |
33 clean: | |
34 rm -rf $(TARGET) *.o *.so |