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: