Attempt failed
This commit is contained in:
parent
e3385a8327
commit
1d2b1362af
|
@ -8,11 +8,24 @@ BUILD_PROFILE ?= debug
|
||||||
|
|
||||||
CONFIG_NAME ?= $(PLATFORM)-$(BUILD_PROFILE)
|
CONFIG_NAME ?= $(PLATFORM)-$(BUILD_PROFILE)
|
||||||
OUTPUT_DIR = build/$(CONFIG_NAME)
|
OUTPUT_DIR = build/$(CONFIG_NAME)
|
||||||
TARGET = $(OUTPUT_DIR)/$(ARTIFACT)
|
TARGET = $(OUTPUT_DIR)/$(ARTIFACT)
|
||||||
|
|
||||||
#Compiler definitions
|
#Compiler definitions
|
||||||
CC = gcc
|
HAS_LINUX_MIPS_GCC = $(shell which mipsel-linux-gnu-gcc > /dev/null 2> /dev/null && echo true || echo false)
|
||||||
CXX = g++
|
ifeq ($(HAS_LINUX_MIPS_GCC),true)
|
||||||
|
PREFIX ?= mipsel-linux-gnu
|
||||||
|
FORMAT ?= elf32-tradlittlemips
|
||||||
|
else
|
||||||
|
PREFIX ?= mipsel-none-elf
|
||||||
|
FORMAT ?= elf32-littlemips
|
||||||
|
endif
|
||||||
|
|
||||||
|
ROOTDIR = ../../../GIT/pcsx-redux/src/mips
|
||||||
|
LDSCRIPT ?= $(ROOTDIR)/ps-exe.ld
|
||||||
|
LDSCRIPT := $(addprefix $(ROOTDIR)/default.ld , -T$(LDSCRIPT))
|
||||||
|
|
||||||
|
CC = $(PREFIX)-gcc-10
|
||||||
|
CXX = $(PREFIX)-g++-10
|
||||||
LD = $(CXX)
|
LD = $(CXX)
|
||||||
|
|
||||||
#User defined include/preprocessor flags and libraries
|
#User defined include/preprocessor flags and libraries
|
||||||
|
@ -31,14 +44,30 @@ LIB_DEPS_PATHES = ../QtXTObj/build/$(CONFIG_NAME)-Qt_Obj
|
||||||
CCFLAGS_release += -g -O3
|
CCFLAGS_release += -g -O3
|
||||||
CCFLAGS_debug += -g -O0 -fno-builtin
|
CCFLAGS_debug += -g -O0 -fno-builtin
|
||||||
|
|
||||||
#Generic compiler flags (which include build type flags) -fcompare-debug-second
|
CXXFLAGS += -fno-exceptions -fno-rtti
|
||||||
# v for now v v
|
|
||||||
CCFLAGS_all += -DTCP_SERVER -Wall -Wno-unused-variable -Wno-unused-but-set-variable -fmessage-length=0 -std=gnu++2a -Wno-unused-function -fcompare-debug-second
|
#Generic compiler flags (which include build type flags)
|
||||||
CCFLAGS_all += -march=skylake
|
ARCHFLAGS = -march=mips1 -mabi=32 -EL -fno-pic -mno-shared -mno-abicalls -mfp32
|
||||||
|
ARCHFLAGS += -fno-stack-protector -nostdlib -ffreestanding
|
||||||
|
|
||||||
|
|
||||||
|
USE_FUNCTION_SECTIONS ?= true
|
||||||
|
ifeq ($(USE_FUNCTION_SECTIONS),true)
|
||||||
|
CCFLAGS_all += -ffunction-sections
|
||||||
|
endif
|
||||||
|
CCFLAGS_all += -mno-gpopt -fomit-frame-pointer
|
||||||
|
CCFLAGS_all += -fno-builtin -fno-strict-aliasing -Wno-attributes
|
||||||
|
CCFLAGS_all += $(ARCHFLAGS)
|
||||||
|
|
||||||
CCFLAGS_all += $(CCFLAGS_$(BUILD_PROFILE))
|
CCFLAGS_all += $(CCFLAGS_$(BUILD_PROFILE))
|
||||||
|
|
||||||
|
#Linker flags
|
||||||
|
LDFLAGS_release += -Os
|
||||||
|
|
||||||
|
LDFLAGS_all += -Wl,-Map=$(BINDIR)$(TARGET).map -nostdlib -T$(LDSCRIPT) -static -Wl,--gc-sections
|
||||||
|
LDFLAGS_all += $(ARCHFLAGS) -Wl,--oformat=$(FORMAT)
|
||||||
LDFLAGS_all += $(LDFLAGS_$(BUILD_PROFILE))
|
LDFLAGS_all += $(LDFLAGS_$(BUILD_PROFILE))
|
||||||
|
|
||||||
LIBS_all += $(LIBS_$(BUILD_PROFILE))
|
LIBS_all += $(LIBS_$(BUILD_PROFILE))
|
||||||
|
|
||||||
DEPS = -Wp,-MMD,$(@:%.o=%.d),-MT,$@
|
DEPS = -Wp,-MMD,$(@:%.o=%.d),-MT,$@
|
||||||
|
@ -47,10 +76,11 @@ DEPS = -Wp,-MMD,$(@:%.o=%.d),-MT,$@
|
||||||
rwildcard = $(wildcard $(addprefix $1/*.,$2)) $(foreach d,$(wildcard $1/*),$(call rwildcard,$d,$2))
|
rwildcard = $(wildcard $(addprefix $1/*.,$2)) $(foreach d,$(wildcard $1/*),$(call rwildcard,$d,$2))
|
||||||
|
|
||||||
#Source list
|
#Source list
|
||||||
SRCS = $(call rwildcard, src, c cpp)
|
SRCS += $(ROOTDIR)/common/crt0/crt0.s
|
||||||
|
SRCS += $(call rwildcard, src, c cpp)
|
||||||
|
|
||||||
#Object files list
|
#Object files list
|
||||||
OBJS = $(addprefix $(OUTPUT_DIR)/,$(addsuffix .o, $(basename $(SRCS))))
|
OBJS = $(addprefix $(OUTPUT_DIR)/,$(addsuffix .o, $(subst ..,super,$(basename $(SRCS)))))
|
||||||
|
|
||||||
#Compiling rule
|
#Compiling rule
|
||||||
$(OUTPUT_DIR)/%.o: %.c
|
$(OUTPUT_DIR)/%.o: %.c
|
||||||
|
@ -59,11 +89,18 @@ $(OUTPUT_DIR)/%.o: %.c
|
||||||
|
|
||||||
$(OUTPUT_DIR)/%.o: %.cpp
|
$(OUTPUT_DIR)/%.o: %.cpp
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
$(CXX) -c $(DEPS) -o $@ $(INCLUDES) $(CCFLAGS_all) $(CCFLAGS) $<
|
$(CXX) -c $(DEPS) -o $@ $(INCLUDES) $(CCFLAGS_all) $(CXXFLAGS) $<
|
||||||
|
|
||||||
|
.SECONDEXPANSION:
|
||||||
|
$(OUTPUT_DIR)/%.o: $$(subst super,..,%.s)
|
||||||
|
@mkdir -p $(dir $@)
|
||||||
|
$(CC) $(ARCHFLAGS) -I$(ROOTDIR) -g -c -o $@ $<
|
||||||
|
$(info at is $@)
|
||||||
|
$(info dollar is $<)
|
||||||
|
|
||||||
#Linking rule
|
#Linking rule
|
||||||
$(TARGET):$(OBJS) $(call pairmap,make-lib-dep,$(LIB_DEPS_PATHES),$(LIB_DEPS_NAMES))
|
$(TARGET).elf: $(OBJS)
|
||||||
$(LD) -o $(TARGET) $(LDFLAGS_all) $(LDFLAGS) $(OBJS) $(LIBS_all) $(LIBS)
|
$(LD) -o $(TARGET).elf $(LDFLAGS_all) $(LDFLAGS) $(OBJS) $(LIBS_all) $(LIBS)
|
||||||
|
|
||||||
#Rules section for default compilation and linking
|
#Rules section for default compilation and linking
|
||||||
all: $(TARGET)
|
all: $(TARGET)
|
||||||
|
|
Loading…
Reference in New Issue