bond/Makefile

68 lines
1.3 KiB
Makefile
Raw Normal View History

CROSS_PATH = ~/opt/cross/bin
AS = nasm
CC = $(CROSS_PATH)/x86_64-elf-gcc
2018-02-18 06:14:25 +00:00
LD = $(CROSS_PATH)/x86_64-elf-ld
DAS = $(CROSS_PATH)/x86_64-elf-objdump
2018-01-31 19:10:24 +00:00
INCLUDE_DIR = include
MK = mk
OUT = out
2018-02-06 21:25:47 +00:00
C_WARNINGS = -Wall \
-Werror \
-Wextra \
-Wpedantic \
-Winit-self \
-Wunused-parameter \
-Wuninitialized \
-Wfloat-equal \
-Wshadow \
-Wcast-qual \
-Wcast-align \
-Wstrict-prototypes \
-Wpointer-arith \
-Wno-comment
2018-02-06 21:25:47 +00:00
C_FLAGS = -std=c11 \
-g \
-c \
-O2 \
-mcmodel=kernel \
-fno-stack-protector \
-ffreestanding \
-mno-red-zone \
$(C_WARNINGS) \
$(addprefix -I, $(INCLUDE_DIR))
2018-01-31 19:10:24 +00:00
AS_FLAGS = -w+all \
-w+error \
-f elf64 \
-F dwarf \
-g \
$(addprefix -I, $(INCLUDE_DIR)/)
2018-01-31 19:10:24 +00:00
2018-02-18 06:14:25 +00:00
LD_FLAGS = -nostdlib \
--fatal-warnings
2018-01-31 19:10:24 +00:00
DUMP_FLAGS = -M intel \
2018-02-18 06:46:23 +00:00
-d
PREP_FLAGS = -E \
-x c \
-P \
-traditional-cpp \
$(C_FLAGS)
GDEP_FLAGS = $(PREP_FLAGS) \
-MMD \
-MT $@
MKDIR = mkdir -p $(dir $@)
2018-02-18 06:14:25 +00:00
COMP = $(CC) $(C_FLAGS) -o $@ $<
COMPAS = $(AS) $(AS_FLAGS) -o $@ $<
LINK = $(LD) $(LD_FLAGS) -o $@ $^ $(shell $(CC) $(C_FLAGS) -print-libgcc-file-name)
DUMP = $(DAS) $(DUMP_FLAGS) $< > $@
PREP = $(CC) $(PREP_FLAGS) $< > $@
GDEP = $(CC) $(GDEP_FLAGS) -MF $(addsuffix .d, $@) $< > /dev/null
2018-01-31 19:10:24 +00:00
include Rules.top