-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.flags
28 lines (20 loc) · 1.11 KB
/
Makefile.flags
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
.SILENT:
FLAGS_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
SELF_DIR = $(dir $@)
export RM = rm
export CP = cp
export AR = echo " AR $<" && x86_64-w64-mingw32-ar
export AS = echo " AS $^" && x86_64-w64-mingw32-as
export CC = echo " CC $^" && x86_64-w64-mingw32-gcc
export CXX = echo " CXX $^" && x86_64-w64-mingw32-g++
export LD = echo " LD $@" && x86_64-w64-mingw32-gcc
export FASM = echo " FASM $^" && fasm >/dev/null
export INCLUDEFLAGS = -I/usr/include/efi -I/usr/include/efi/x86_64 -I$(SELF_DIR)/include/
export CPPFLAGS =
export CFLAGS = $(INCLUDEFLAGS) -DHELOS $(BUILD_OPTIONS) -O2 -Wno-attributes -fPIE -ffreestanding -nostdlib -mcmodel=large -mno-red-zone -mno-sse
export CXXFLAGS = $(INCLUDEFLAGS) -DHELOS $(BUILD_OPTIONS) -O2 -Wno-unused-result -std=c++17 -fPIE -ffreestanding -nostdlib -mcmodel=large -mno-red-zone -fno-exceptions -fno-rtti -mno-sse
export LDFLAGS = -T Linker.ld -O2 -eefiMain -nostdlib -shared -fPIE -ffreestanding -Wl,--dynamicbase,--subsystem,10 -o Main.efi -s
export LDLIBS = ../Unifont/unifont.o -lgcc
# Pattern rule for FASM assembly
%.o: %.S
$(FASM) $^ $@