Merge rapi2 to master
This commit is contained in:
parent
3f36e98f90
commit
043d9004a0
|
@ -17,6 +17,7 @@
|
|||
#include <sys/mman.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/personality.h>
|
||||
#include <dlfcn.h>
|
||||
#include <unistd.h>
|
||||
#include "hw/sh4/dyna/blockmanager.h"
|
||||
|
||||
|
@ -270,11 +271,32 @@ void enable_runfast()
|
|||
#endif
|
||||
}
|
||||
|
||||
void linux_fix_personality() {
|
||||
printf("Personality: %08X\n", personality(0xFFFFFFFF));
|
||||
personality(~READ_IMPLIES_EXEC & personality(0xFFFFFFFF));
|
||||
printf("Updated personality: %08X\n", personality(0xFFFFFFFF));
|
||||
}
|
||||
|
||||
void linux_rpi2_init() {
|
||||
void* handle;
|
||||
void (*rpi_bcm_init)(void);
|
||||
|
||||
handle = dlopen("libbcm_host.so", RTLD_LAZY);
|
||||
|
||||
if (handle) {
|
||||
printf("found libbcm_host\n");
|
||||
*(void**) (&rpi_bcm_init) = dlsym(handle, "bcm_host_init");
|
||||
if (rpi_bcm_init) {
|
||||
printf("rpi2: bcm_init\n");
|
||||
rpi_bcm_init();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void common_linux_setup()
|
||||
{
|
||||
printf("Personality: %08X\n", personality(0xFFFFFFFF));
|
||||
personality(~READ_IMPLIES_EXEC & personality(0xFFFFFFFF));
|
||||
printf("Updated personality: %08X\n", personality(0xFFFFFFFF));
|
||||
linux_fix_personality();
|
||||
linux_rpi2_init();
|
||||
|
||||
enable_runfast();
|
||||
install_fault_handler();
|
||||
|
|
|
@ -57,7 +57,7 @@ endif
|
|||
INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I../linux-deps/include
|
||||
|
||||
LIBS := -L../linux-deps/lib
|
||||
LIBS += -lm -lrt -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
|
||||
LIBS += -lm -lrt -ldl -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
|
||||
LIBS += -lpthread -lX11 -lXdmcp -lXau
|
||||
|
||||
ifdef USE_ALSA
|
||||
|
|
|
@ -64,7 +64,7 @@ INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I
|
|||
|
||||
LIBS := -L../linux-deps/lib -L./enta_viv
|
||||
LIBS += -lglapi
|
||||
LIBS += -lm -lrt -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
|
||||
LIBS += -lm -lrt -ldl -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
|
||||
LIBS += -lpthread #-lX11 -lXdmcp -lXau
|
||||
|
||||
ifdef USE_ALSA
|
||||
|
|
|
@ -70,7 +70,7 @@ INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I
|
|||
|
||||
LIBS := -L../linux-deps/lib/x86 -L./enta_viv
|
||||
#LIBS += -lglapi
|
||||
LIBS += -lm -lrt
|
||||
LIBS += -lm -lrt -ldl
|
||||
LIBS += -ldl -lGL #for desktop gl
|
||||
#use this for GLES
|
||||
#LIBS += -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
|
||||
|
|
|
@ -77,7 +77,7 @@ INCS := -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos
|
|||
#-I../linux-deps/include
|
||||
|
||||
LIBS := -L../linux-deps/lib
|
||||
LIBS += -lm -lrt -lEGL -lGLESv2
|
||||
LIBS += -lm -lrt -ldl -lEGL -lGLESv2
|
||||
#-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
|
||||
LIBS += -lpthread
|
||||
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
FOR_LINUX :=1
|
||||
WEBUI :=1
|
||||
#NO_REND := 1
|
||||
#NO_X11 := 1
|
||||
RZDCY_SRC_DIR = ../../core
|
||||
|
||||
include $(RZDCY_SRC_DIR)/core.mk
|
||||
|
||||
#CC_PREFIX ?= arm-none-linux-gnueabi-
|
||||
|
||||
CXX=${CC_PREFIX}g++
|
||||
CC=${CC_PREFIX}gcc
|
||||
AS=${CC_PREFIX}gcc
|
||||
STRIP=${CC_PREFIX}strip
|
||||
|
||||
LD=${CC}
|
||||
|
||||
MFLAGS := -marm -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=hard -funroll-loops
|
||||
ASFLAGS := -march=armv7-a -mfpu=neon -mfloat-abi=softfp
|
||||
|
||||
LDFLAGS := -g -Wl,-Map,$(notdir $@).map,--gc-sections -Wl,-O3 -Wl,--sort-common
|
||||
|
||||
|
||||
CXXFLAGS := -g -O3 -D RELEASE -c -D TARGET_BEAGLE -D TARGET_LINUX_ARMELv7 -DUSE_ALSA
|
||||
CXXFLAGS += -frename-registers -fno-strict-aliasing -fsingle-precision-constant
|
||||
CXXFLAGS += -ffast-math -ftree-vectorize -fprefetch-loop-arrays
|
||||
#-std=c++0x
|
||||
|
||||
CXXFLAGS += $(CFLAGS) $(MFLAGS) -fno-exceptions -fno-rtti
|
||||
CXXFLAGS += -DARM_HARDFP -DGLES
|
||||
|
||||
|
||||
ifdef PGO_MAKE
|
||||
CXXFLAGS += -fprofile-generate -pg
|
||||
LDFLAGS += -fprofile-generate
|
||||
else
|
||||
CXXFLAGS += -fomit-frame-pointer
|
||||
endif
|
||||
|
||||
ifdef PGO_USE
|
||||
CXXFLAGS += -fprofile-use
|
||||
endif
|
||||
|
||||
|
||||
ifdef LTO_TEST
|
||||
CXXFLAGS += -flto -fwhole-program
|
||||
LDFLAGS +=-flto -fwhole-program
|
||||
endif
|
||||
|
||||
INCS := -I/opt/vc/include/ -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I$(RZDCY_SRC_DIR) -I$(RZDCY_SRC_DIR)/deps -I$(RZDCY_SRC_DIR)/khronos -I../linux-deps/include
|
||||
|
||||
LIBS := -L/opt/vc/lib/ -L../linux-deps/lib
|
||||
LIBS += -lm -lrt -ldl -lEGL -lGLESv2 #-lglslcompiler -lIMGegl -lpvr2d -lsrv_um
|
||||
LIBS += -lpthread -lasound -lX11 -lXdmcp -lXau -lbcm_host
|
||||
|
||||
|
||||
OBJECTS=$(RZDCY_FILES:.cpp=.build_obj)
|
||||
OBJECTS:=$(OBJECTS:.c=.build_obj)
|
||||
OBJECTS:=$(OBJECTS:.S=.build_obj)
|
||||
OBJECTS:=$(patsubst $(RZDCY_SRC_DIR)/%,obj/%,$(OBJECTS))
|
||||
|
||||
|
||||
EXECUTABLE_STRIPPED=nosym-reicast.elf
|
||||
EXECUTABLE=reicast.elf
|
||||
|
||||
all: $(CPPFILES) $(EXECUTABLE) $(EXECUTABLE_STRIPPED)
|
||||
|
||||
$(EXECUTABLE): $(OBJECTS)
|
||||
echo $(RZDCY_FILES)
|
||||
$(CXX) $(MFLAGS) $(EXTRAFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
|
||||
|
||||
$(EXECUTABLE_STRIPPED): $(EXECUTABLE)
|
||||
cp $< $@ && $(STRIP) $@
|
||||
|
||||
obj/%.build_obj : $(RZDCY_SRC_DIR)/%.cpp
|
||||
mkdir -p $(dir $@)
|
||||
$(CXX) $(EXTRAFLAGS) $(INCS) $(CXXFLAGS) $< -o $@
|
||||
|
||||
obj/%.build_obj : $(RZDCY_SRC_DIR)/%.c
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) $(EXTRAFLAGS) $(INCS) $(CXXFLAGS) $< -o $@
|
||||
|
||||
obj/%.build_obj : $(RZDCY_SRC_DIR)/%.S
|
||||
mkdir -p $(dir $@)
|
||||
$(AS) $(ASFLAGS) $(INCS) $(CXXFLAGS) $< -o $@
|
||||
|
||||
|
||||
clean:
|
||||
rm $(OBJECTS) $(EXECUTABLE) -f
|
Loading…
Reference in New Issue