73 lines
1.2 KiB
Makefile
73 lines
1.2 KiB
Makefile
AS := nasm
|
|
CC := clang
|
|
LD := clang
|
|
DAS := llvm-objdump
|
|
|
|
INC_COMMON := inc
|
|
MK := mk
|
|
OUT := out
|
|
|
|
C_IGNORED_WARNINGS = -Wno-cast-align \
|
|
-Wno-padded
|
|
|
|
C_FLAGS = -xc\
|
|
-g \
|
|
-c \
|
|
-O2 \
|
|
-std=c11 \
|
|
-Weverything \
|
|
-Werror \
|
|
$(C_IGNORED_WARNINGS) \
|
|
-ffreestanding \
|
|
-fno-builtin \
|
|
-nostdlib \
|
|
-fno-pic \
|
|
-mcmodel=kernel \
|
|
-fno-stack-protector \
|
|
-mno-red-zone \
|
|
-mno-mmx \
|
|
-mno-sse \
|
|
-mno-sse2 \
|
|
-mno-sse3 \
|
|
-mno-3dnow \
|
|
-target x86_64-pc-none-elf \
|
|
-I$(INC_COMMON)
|
|
|
|
AS_FLAGS = -w+all \
|
|
-w+error \
|
|
-f elf64 \
|
|
-F dwarf \
|
|
-g \
|
|
-I$(INC_COMMON) \
|
|
$(INC_$(d))
|
|
|
|
LD_FLAGS = -fuse-ld=lld \
|
|
-nostdlib \
|
|
-Wl,-T,$(LD_SCRIPT) \
|
|
-Wl,--fatal-warnings
|
|
|
|
DUMP_FLAGS = -x86-asm-syntax=intel \
|
|
-disassemble \
|
|
-r \
|
|
-t \
|
|
-triple=x86_64-elf
|
|
|
|
PREP_FLAGS = -E \
|
|
-xc\
|
|
-P \
|
|
$(C_FLAGS)
|
|
|
|
GDEP_FLAGS = $(PREP_FLAGS) \
|
|
-MMD \
|
|
-MT $@
|
|
|
|
MKDIR = mkdir -p $(dir $@)
|
|
COMP = $(CC) $(C_FLAGS) -o $@ $<
|
|
COMPAS = $(AS) $(AS_FLAGS) -o $@ $<
|
|
LINK = $(LD) $(LD_FLAGS) -o $@ $^
|
|
DUMP = $(DAS) $(DUMP_FLAGS) $< > $@
|
|
PREP = $(CC) $(PREP_FLAGS) $< > $@
|
|
GDEP = $(CC) $(GDEP_FLAGS) -MF $(addsuffix .d, $@) $< > /dev/null
|
|
|
|
include Rules.top
|