2 # filesystems/Make.gnuefi
3 # Build control file for the EFI drivers, as built with GNU-EFI
10 HOSTARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
13 # Note: IA64 options are untested; taken from Debian's rEFIt package.
15 # EFI specs allows only lower floating point partition to be used
16 ARCH_C_CFLAGS = -frename-registers -mfixed-range=f32-f127
17 # TODO: Add FILENAME_CODE as appropriate
22 ARCH_C_FLAGS = -m32 -malign-double
29 ARCH_C_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -m64
34 LOCAL_CPPFLAGS = -DFSTYPE=$(DRIVERNAME) $(ARCH_C_FLAGS) -I$(SRCDIR) -I$(SRCDIR)/../include -I$(SRCDIR)/../libeg
36 OBJS = fsw_core.o fsw_efi.o fsw_efi_lib.o fsw_lib.o fsw_$(DRIVERNAME).o
37 TARGET = $(DRIVERNAME)_$(FILENAME_CODE).efi
41 include $(SRCDIR)/../Make.common
43 $(TARGET): $(SHLIB_TARGET)
44 $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel \
45 -j .rela -j .reloc --target=$(FORMAT_DRIVER) $< $@
47 mkdir -p ../drivers_$(FILENAME_CODE)
48 cp $(TARGET) ../drivers_$(FILENAME_CODE)