1 | # -*- makefile -*- : Force emacs to use Makefile mode
|
---|
2 |
|
---|
3 | # Enable stack protection if available
|
---|
4 | #
|
---|
5 | SPG_TEST = $(CC) -fstack-protector-strong -mstack-protector-guard=global \
|
---|
6 | -x c -c /dev/null -o /dev/null >/dev/null 2>&1
|
---|
7 | SPG_FLAGS := $(shell $(SPG_TEST) && $(ECHO) '-fstack-protector-strong ' \
|
---|
8 | '-mstack-protector-guard=global')
|
---|
9 | CFLAGS += $(SPG_FLAGS)
|
---|
10 |
|
---|
11 | # The EFI linker script
|
---|
12 | #
|
---|
13 | LDSCRIPT = scripts/efi.lds
|
---|
14 |
|
---|
15 | # Retain relocation information for elf2efi
|
---|
16 | #
|
---|
17 | LDFLAGS += -q -S
|
---|
18 |
|
---|
19 | # Media types.
|
---|
20 | #
|
---|
21 | NON_AUTO_MEDIA += efi
|
---|
22 | NON_AUTO_MEDIA += efidrv
|
---|
23 | NON_AUTO_MEDIA += drv.efi
|
---|
24 | NON_AUTO_MEDIA += efirom
|
---|
25 |
|
---|
26 | # Include SNP driver in the all-drivers build
|
---|
27 | #
|
---|
28 | DRIVERS_net += snp
|
---|
29 |
|
---|
30 | # Rules for building EFI files
|
---|
31 | #
|
---|
32 | $(BIN)/%.efi : $(BIN)/%.efi.tmp $(ELF2EFI)
|
---|
33 | $(QM)$(ECHO) " [FINISH] $@"
|
---|
34 | $(Q)$(ELF2EFI) --subsystem=10 $< $@
|
---|
35 |
|
---|
36 | $(BIN)/%.efidrv : $(BIN)/%.efidrv.tmp $(ELF2EFI)
|
---|
37 | $(QM)$(ECHO) " [FINISH] $@"
|
---|
38 | $(Q)$(ELF2EFI) --subsystem=11 $< $@
|
---|
39 |
|
---|
40 | $(BIN)/%.drv.efi : $(BIN)/%.efidrv
|
---|
41 | $(QM)$(ECHO) " [FINISH] $@"
|
---|
42 | $(Q)$(CP) $< $@
|
---|
43 |
|
---|
44 | $(BIN)/%.efirom : $(BIN)/%.efidrv $(EFIROM)
|
---|
45 | $(QM)$(ECHO) " [FINISH] $@"
|
---|
46 | $(Q)$(EFIROM) -v $(TGT_PCI_VENDOR) -d $(TGT_PCI_DEVICE) $< $@
|
---|
47 |
|
---|
48 | $(BIN)/efidrv.cab : $(BIN)/alldrv.efis # $(ALL_drv.efi) is not yet defined
|
---|
49 | $(QM)$(ECHO) " [CAB] $@"
|
---|
50 | $(Q)$(LCAB) -n -q $(ALL_drv.efi) $@
|
---|
51 |
|
---|
52 | $(BIN)/%.usb : $(BIN)/%.efi
|
---|
53 | $(QM)$(ECHO) " [GENEFIDSK] $@"
|
---|
54 | $(Q)bash util/genefidsk -o $@ -b $(EFI_BOOT_FILE) $<
|
---|