X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=source%2Fgles2glide64%2FMakefile;fp=source%2Fgles2glide64%2FMakefile;h=ee2e96bf6977976b9bbb0590e41e4dd615ab7c99;hb=98e75f2d18c02c233da543560f76282f04fc796c;hp=0000000000000000000000000000000000000000;hpb=0ced54f867d36e8b324155bef49e8abfebfc3237;p=mupen64plus-pandora.git diff --git a/source/gles2glide64/Makefile b/source/gles2glide64/Makefile new file mode 100755 index 0000000..ee2e96b --- /dev/null +++ b/source/gles2glide64/Makefile @@ -0,0 +1,165 @@ +PIC ?= 1 +NO_ASM := 1 +CFLAGS += -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mtune=cortex-a8 -fsigned-char -DNO_ASM -DPAULSCODE -Ofast +CFLAGS += -I ../../../../mupen64plus-bundle-src-2.0/source/mupen64plus-core/src/api/ +CFLAGS += `sdl-config --cflags` + +SHARED = -shared +SRCDIR := src + +MODULE := gles2glide64 +SHARED_LIBRARIES := SDL core +STATIC_LIBRARIES := png +ARM_MODE := arm + +C_INCLUDES := \ + $(M64P_API_INCLUDES) \ + $(SDL_INCLUDES) \ + +SOURCE := \ + $(SRCDIR)/Glitch64/combiner.cpp \ + $(SRCDIR)/Glitch64/geometry.cpp \ + $(SRCDIR)/Glitch64/glitchmain.cpp \ + $(SRCDIR)/Glitch64/textures.cpp \ + $(SRCDIR)/Glide64/osal_dynamiclib_unix.c \ + $(SRCDIR)/Glide64/3dmath.cpp \ + $(SRCDIR)/Glide64/Combine.cpp \ + $(SRCDIR)/Glide64/Config.cpp \ + $(SRCDIR)/Glide64/CRC.cpp \ + $(SRCDIR)/Glide64/Debugger.cpp \ + $(SRCDIR)/Glide64/DepthBufferRender.cpp \ + $(SRCDIR)/Glide64/FBtoScreen.cpp \ + $(SRCDIR)/Glide64/FrameSkipper.cpp \ + $(SRCDIR)/Glide64/Ini.cpp \ + $(SRCDIR)/Glide64/Keys.cpp \ + $(SRCDIR)/Glide64/Main.cpp \ + $(SRCDIR)/Glide64/rdp.cpp \ + $(SRCDIR)/Glide64/TexBuffer.cpp \ + $(SRCDIR)/Glide64/TexCache.cpp \ + $(SRCDIR)/Glide64/ticks.c \ + $(SRCDIR)/Glide64/Util.cpp \ + +CFLAGS += \ + $(COMMON_CFLAGS) \ + -D__CRC_OPT \ + -D__HASHMAP_OPT \ + -D__TRIBUFFER_OPT \ + -D__VEC4_OPT \ + -DUSE_SDL \ + -fsigned-char \ + #-DSDL_NO_COMPAT \ + +ifeq ($(PIC), 1) + CFLAGS += -fPIC +else + CFLAGS += -fno-PIC +endif + +CPPFLAGS := $(CPPFLAGS) + +LDLIBS := \ + -lGLESv2 \ + -lEGL \ + -lrt \ + +# Use for ARM7a: +CFLAGS += -DARM_ASM +CFLAGS += -D__NEON_OPT + +LDFLAGS += $(SHARED) + +include $(BUILD_SHARED_LIBRARY) + +# set base program pointers and flags +CC = $(CROSS_COMPILE)gcc +CXX = $(CROSS_COMPILE)g++ +RM ?= rm -f +INSTALL ?= install +MKDIR ?= mkdir -p +COMPILE.c = $(Q_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -gdwarf-2 -c +COMPILE.cc = $(Q_CXX)$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -gdwarf-2 -c +LINK.o = $(Q_LD)$(CXX) $(CXXFLAGS) $(LDFLAGS) $(TARGET_ARCH) -gdwarf-2 + +# set installation options +ifeq ($(PREFIX),) + PREFIX := /usr/local +endif +ifeq ($(SHAREDIR),) + SHAREDIR := $(PREFIX)/share/mupen64plus +endif +ifeq ($(LIBDIR),) + LIBDIR := $(PREFIX)/lib +endif +ifeq ($(PLUGINDIR),) + PLUGINDIR := $(LIBDIR)/mupen64plus +endif + +OBJDIR = _obj$(POSTFIX) + +# generate a list of object files build, make a temporary directory for them +OBJECTS := $(patsubst $(SRCDIR)/%.c, $(OBJDIR)/%.o, $(filter %.c, $(SOURCE))) +OBJECTS += $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, $(filter %.cpp, $(SOURCE))) +OBJDIRS = $(dir $(OBJECTS)) +$(shell $(MKDIR) $(OBJDIRS)) + +# build targets +TARGET = mupen64plus-video-gles2n64.so + +targets: + @echo "Mupen64plus-video-rice N64 Graphics plugin makefile. " + @echo " Targets:" + @echo " all == Build Mupen64plus-video-rice plugin" + @echo " clean == remove object files" + @echo " rebuild == clean and re-build all" + @echo " install == Install Mupen64Plus-video-rice plugin" + @echo " uninstall == Uninstall Mupen64Plus-video-rice plugin" + @echo " Options:" + @echo " BITS=32 == build 32-bit binaries on 64-bit machine" + @echo " NO_ASM=1 == build without inline assembly code (x86 MMX/SSE)" + @echo " APIDIR=path == path to find Mupen64Plus Core headers" + @echo " OPTFLAGS=flag == compiler optimization (default: -O3)" + @echo " WARNFLAGS=flag == compiler warning levels (default: -Wall)" + @echo " PIC=(1|0) == Force enable/disable of position independent code" + @echo " POSTFIX=name == String added to the name of the the build (default: '')" + @echo " Install Options:" + @echo " PREFIX=path == install/uninstall prefix (default: /usr/local)" + @echo " SHAREDIR=path == path to install shared data files (default: PREFIX/share/mupen64plus)" + @echo " LIBDIR=path == library prefix (default: PREFIX/lib)" + @echo " PLUGINDIR=path == path to install plugin libraries (default: LIBDIR/mupen64plus)" + @echo " DESTDIR=path == path to prepend to all installation paths (only for packagers)" + @echo " Debugging Options:" + @echo " DEBUG=1 == add debugging symbols" + @echo " V=1 == show verbose compiler output" + +all: $(TARGET) + +install: $(TARGET) + $(INSTALL) -d "$(DESTDIR)$(PLUGINDIR)" + $(INSTALL) -m 0644 $(INSTALL_STRIP_FLAG) $(TARGET) "$(DESTDIR)$(PLUGINDIR)" + $(INSTALL) -d "$(DESTDIR)$(SHAREDIR)" + +uninstall: + $(RM) "$(DESTDIR)$(PLUGINDIR)/$(TARGET)" + +clean: + $(RM) -r $(OBJDIR) $(TARGET) + +rebuild: clean all + +# build dependency files +CFLAGS += -MD +-include $(OBJECTS:.o=.d) + +CXXFLAGS += $(CFLAGS) + +# standard build rules +$(OBJDIR)/%.o: $(SRCDIR)/%.c + $(COMPILE.c) -o $@ $< + +$(OBJDIR)/%.o: $(SRCDIR)/%.cpp + $(COMPILE.cc) -o $@ $< + +$(TARGET): $(OBJECTS) + $(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@ + +.PHONY: all clean install uninstall targets