]>
Commit | Line | Data |
---|---|---|
253d0942 AG |
1 | all: build-all |
2 | ||
3 | include ../../config-host.mak | |
4 | ||
5 | VPATH=$(SRC_PATH)/pc-bios/optionrom | |
6 | OBJCOPY=objcopy | |
7 | ||
8 | # from kernel sources - scripts/Kbuild.include | |
9 | # try-run | |
10 | # Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise) | |
11 | # Exit code chooses option. "$$TMP" is can be used as temporary file and | |
12 | # is automatically cleaned up. | |
13 | try-run = $(shell set -e; \ | |
14 | TMP="$(TMPOUT).$$$$.tmp"; \ | |
15 | if ($(1)) >/dev/null 2>&1; \ | |
16 | then echo "$(2)"; \ | |
17 | else echo "$(3)"; \ | |
18 | fi; \ | |
19 | rm -f "$$TMP") | |
20 | ||
21 | # cc-option-yn | |
22 | # Usage: flag := $(call cc-option-yn,-march=winchip-c6) | |
23 | cc-option-yn = $(call try-run,\ | |
24 | $(CC) $(KBUILD_CFLAGS) $(1) -S -xc /dev/null -o "$$TMP",y,n) | |
25 | ||
26 | CFLAGS = -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin | |
27 | CFLAGS += -I$(SRC_PATH) | |
28 | ifeq ($(call cc-option-yn,-fno-stack-protector),y) | |
29 | CFLAGS += -fno-stack-protector | |
30 | endif | |
31 | ||
32 | build-all: multiboot.bin | |
33 | ||
34 | %.o: %.S | |
35 | $(CC) $(CFLAGS) -o $@ -c $< | |
36 | ||
37 | %.img: %.o | |
38 | $(LD) --oformat binary -Ttext 0 -o $@ $< | |
39 | ||
89e671e3 AG |
40 | %.bin: %.img |
41 | $(SRC_PATH)/pc-bios/optionrom/signrom.sh $< $@ | |
253d0942 AG |
42 | cp $@ $(SRC_PATH)/pc-bios/ |
43 | ||
253d0942 | 44 | clean: |
89e671e3 | 45 | $(RM) *.o *.img *.bin *~ |