# Acess 2 Applications
# General Makefile

# Include Usermode Makefile.cfg
_appsdir := $(dir $(lastword $(MAKEFILE_LIST)))
include $(_appsdir)../Makefile.cfg

ifeq ($(ARCHDIR),native)
 ASFLAGS = -felf
 CPPFLAGS = -Wall
 CFLAGS = $(CPPFLAGS)
 LDFLAGS = -L $(OUTPUTDIR)Libs -lacess-native -lc_acess
#LIBGCC_PATH = $(ACESSDIR)/AcessNative/symbol_renames.ld
else
 ASFLAGS = -felf
 CPPFLAGS = -ffreestanding
 CFLAGS   = -fno-stack-protector -fno-builtin $(CPPFLAGS) -Wall
 LDFLAGS  = -T $(OUTPUTDIR)Libs/acess.ld -L $(OUTPUTDIR)Libs -I /Acess/Libs/ld-acess.so -lld-acess -lc $(OUTPUTDIR)Libs/crtbegin.o $(OUTPUTDIR)Libs/crtend.o -lposix
 LIBGCC_PATH = $(shell $(CC) -print-libgcc-file-name)
endif

-include $(_appsdir)../common_settings.mk
LDFLAGS += -rpath-link $(OUTPUTDIR)Libs

# Extra-verbose errors!
#CFLAGS += -Wall -Wextra -Wwrite-strings -Wshadow -Wswitch-default -Wswitch-enum -Wstrict-overflow=5 -Wfloat-equal -Wundef -Wmissing-declarations -Wlogical-op  -Wformat=2 -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wsync-nand -Wunused -Wstrict-overflow=5 -Wfloat-equal -Wundef -Wno-endif-labels -Wshadow -Wunsafe-loop-optimizations -Wbad-function-cast -Wc++-compat -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wlogical-op -Waggregate-return -Wstrict-prototypes -Wold-style-definition -Wmissing-declarations -Wnormalized=nfc -Wpacked -Wpadded -Wredundant-decls -Wnested-externs -Winline -Winvalid-pch -Wdisabled-optimization -Woverlength-strings

DIR = Bin
