Mercurial > hg > Members > taiki > EFIKernel
comparison boot/Makefile @ 8:d390aa667e3c
program test.
author | taiki |
---|---|
date | Wed, 26 Dec 2012 14:40:17 +0900 |
parents | cae91de64e26 |
children | e6715e03b87a |
comparison
equal
deleted
inserted
replaced
7:c778c27450cc | 8:d390aa667e3c |
---|---|
1 LD = /home/taiki/local/bin/ld | |
2 OBJCOPY = /home/taiki/local/bin/objcopy | |
3 | |
4 | |
5 | |
1 ARCH =$(shell uname -m |sed s,i[3456789]86,ia32,) | 6 ARCH =$(shell uname -m |sed s,i[3456789]86,ia32,) |
2 LIB_PATH = /usr/lib64 | 7 LIB_PATH = /usr/lib64 |
3 EFI_INCLUDE = /usr/include/efi | 8 EFI_INCLUDE = /usr/include/efi |
4 EFI_INCLUDES = -nostdinc -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol | 9 EFI_INCLUDES = -nostdinc -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol |
5 | 10 |
6 EFI_PATH = /usr/lib64/gnuefi | 11 EFI_PATH = /usr/lib64/gnuefi |
7 EFI_CRT_OBJS = $(EFI_PATH)/crt0-efi-$(ARCH).o | 12 EFI_CRT_OBJS = $(EFI_PATH)/crt0-efi-$(ARCH).o |
8 EFI_LDS = $(EFI_PATH)/elf_$(ARCH)_efi.lds | 13 EFI_LDS = $(EFI_PATH)/elf_$(ARCH)_efi.lds |
9 | 14 |
10 CFLAGS = -fno-stack-protector -fpic -fshort-wchar -mno-red-zone $(EFI_INCLUDES) | 15 CFLAGS = -O2 -Wall -fno-stack-protector -fpic -fshort-wchar -mno-red-zone $(EFI_INCLUDES) |
11 ifeq ($(ARCH),x86_64) | 16 ifeq ($(ARCH),x86_64) |
12 CFLAGS += -DEFI_FUNCTION_WRAPPER | 17 CFLAGS += -DEFI_FUNCTION_WRAPPER |
13 endif | 18 endif |
14 | 19 |
15 LDFLAGS = -nostdlib -znocombreloc -T $(EFI_LDS) -shared -Bsymbolic -L$(EFI_PATH) -L$(LIB_PATH) \ | 20 LDFLAGS = -nostdlib -znocombreloc -T $(EFI_LDS) -shared -Bsymbolic -L$(EFI_PATH) -L$(LIB_PATH) \ |
23 | 28 |
24 bootx64.so: $(OBJS) | 29 bootx64.so: $(OBJS) |
25 $(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS) | 30 $(LD) -o $@ $(LDFLAGS) $^ $(EFI_LIBS) |
26 | 31 |
27 %.efi: %.so | 32 %.efi: %.so |
28 objcopy -j .text -j .sdata -j .data \ | 33 $(OBJCOPY) -j .text -j .sdata -j .data \ |
29 -j .dynamic -j .dynsym -j .rel \ | 34 -j .dynamic -j .dynsym -j .rel \ |
30 -j .rela -j .reloc -j .eh_frame \ | 35 -j .rela -j .reloc -j .eh_frame \ |
31 --target=efi-app-$(ARCH) $^ $@ | 36 --target=efi-app-$(ARCH) $^ $@ |
32 | 37 |
33 clean: | 38 clean: |