Files
shofel2/exploit/Makefile
fail0verflow ace813d3da Initial commit
2018-04-24 02:43:36 +09:00

37 lines
994 B
Makefile

TOOLCHAIN ?= arm-linux-gnueabi-
CC = $(TOOLCHAIN)gcc
AS = $(TOOLCHAIN)as
OBJCOPY = $(TOOLCHAIN)objcopy
CFLAGS := -march=armv4t -mthumb -Wall -Werror -Os -MMD -ffreestanding \
-fno-common -fomit-frame-pointer -nostdlib -fno-builtin-printf \
-fno-asynchronous-unwind-tables -fPIE -fno-builtin -fno-exceptions \
-Wl,--no-dynamic-linker,--build-id=none,-T,romhax.ld
CXXFLAGS := $(CFLAGS) -std=gnu++14
CFLAGS += -std=gnu11
# shameless copypasta from https://stackoverflow.com/a/2908351/375416
C_FILES := $(wildcard *.c)
S_FILES := $(wildcard *.S)
OBJ_FILES := $(addprefix obj/,$(notdir $(C_FILES:.c=.o)))
OBJ_FILES += $(addprefix obj/,$(notdir $(S_FILES:.S=.o)))
-include $(OBJFILES:.o=.d)
all: cbfs.bin
obj/%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
obj/%.o: %.S
$(AS) -c -o $@ $<
%.bin: %.elf
$(OBJCOPY) -O binary $< $@
cbfs.elf: obj/cbfs.o obj/common.o obj/vsprintf.o obj/idiv.o obj/idivmod.o obj/thumb_case.o
$(CC) $(CFLAGS) -o $@ $^
clean:
rm -f $(OBJ_FILES)
rm -f cbfs.bin cbfs.elf