forked from fail0verflow/ps4-kexec
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
33 lines (23 loc) · 819 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ifdef DDO_NOT_REMAP_RWX
DO_NOT_REMAP_RWX := -DDO_NOT_REMAP_RWX
endif
CFLAGS := -march=btver2 -masm=intel -std=gnu11 -ffreestanding -fno-common \
-fPIC -fomit-frame-pointer -nostdlib -nostdinc \
-fno-asynchronous-unwind-tables \
-Os -Wall -Werror -Wl,--build-id=none,-T,kexec.ld,--nmagic $(DO_NOT_REMAP_RWX)
SOURCES := kernel.c kexec.c linux_boot.c linux_thunk.S uart.c firmware.c
OBJS := $(patsubst %.S,%.o,$(patsubst %.c,%.o,$(SOURCES)))
DEPS := $(OBJS) $(SOURCES) $(INCLUDES:%=$(INC_DIR)/%) Makefile kexec.ld
all: libkexec.a kexec.bin
%.o: %.c *.h
gcc -c $(CFLAGS) -o $@ $<
%.o: %.S
gcc -c $(CFLAGS) -o $@ $<
libkexec.a: $(OBJS)
ar -rc $@ $(OBJS)
kexec.elf: libkexec.a kexec.ld
gcc $(CFLAGS) -o $@ libkexec.a
%.bin: %.elf
objcopy -O binary $< $@
clean:
rm -f libkexec.a kexec.elf kexec.bin $(OBJS)