mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-27 02:00:41 +00:00
180 lines
3.7 KiB
Makefile
180 lines
3.7 KiB
Makefile
TARGET = retroarch.exe
|
|
|
|
HAVE_SCREENSHOTS = 1
|
|
HAVE_AUDIOMIXER = 1
|
|
HAVE_RWAV = 1
|
|
HAVE_DINPUT = 1
|
|
HAVE_XAUDIO = 1
|
|
HAVE_DSOUND = 1
|
|
HAVE_WASAPI = 1
|
|
HAVE_OPENGL = 1
|
|
HAVE_DYLIB = 1
|
|
HAVE_D3D9 = 1
|
|
HAVE_NETWORKING = 1
|
|
HAVE_IFINFO = 1
|
|
HAVE_NETPLAYDISCOVERY = 1
|
|
HAVE_STDIN_CMD = 1
|
|
HAVE_COMMAND = 1
|
|
HAVE_THREADS = 1
|
|
HAVE_MENU = 1
|
|
HAVE_CONFIGFILE = 1
|
|
HAVE_PATCH = 1
|
|
HAVE_REWIND = 1
|
|
HAVE_CHEATS = 1
|
|
HAVE_RGUI = 1
|
|
HAVE_MATERIALUI = 1
|
|
HAVE_DSP_FILTER = 1
|
|
HAVE_VIDEO_FILTER = 1
|
|
HAVE_7ZIP = 1
|
|
DYNAMIC = 1
|
|
HAVE_CORE_INFO_CACHE = 1
|
|
|
|
HAVE_XINPUT = 1
|
|
HAVE_WINMM = 1
|
|
|
|
HAVE_SDL := 0
|
|
HAVE_SDL2 := 0
|
|
HAVE_RSOUND := 0
|
|
|
|
HAVE_STB_FONT := 1
|
|
HAVE_FREETYPE := 1
|
|
HAVE_FFMPEG := 0
|
|
|
|
HAVE_CG := 1
|
|
HAVE_ZLIB := 1
|
|
HAVE_CC_RESAMPLER := 1
|
|
|
|
ifeq ($(HAVE_CG), 1)
|
|
CG_LIBS := -lcg -lcgGL
|
|
endif
|
|
|
|
ifeq ($(HAVE_FREETYPE), 1)
|
|
FREETYPE_CFLAGS := -DHAVE_FREETYPE -Ifreetype2
|
|
FREETYPE_LIBS := -lfreetype
|
|
endif
|
|
|
|
ifeq ($(HAVE_SDL), 1)
|
|
SDL_LIBS := -lSDL
|
|
SDL_CFLAGS := -ISDL -DHAVE_SDL
|
|
BSD_LOCAL_INC :=
|
|
endif
|
|
|
|
ifeq ($(HAVE_SDL2), 1)
|
|
SDL2_LIBS := -lSDL2
|
|
SDL2_CFLAGS := -ISDL2 -DHAVE_SDL2
|
|
endif
|
|
|
|
ifeq ($(HAVE_D3D8), 1)
|
|
D3D8_LIBS := -ld3d8
|
|
ifeq ($(HAVE_D3DX), 1)
|
|
D3DX8_LIBS := -ld3dx8
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(HAVE_D3D9), 1)
|
|
D3D9_LIBS := -ld3d9
|
|
ifeq ($(HAVE_D3DX), 1)
|
|
D3DX9_LIBS := -ld3dx9
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(HAVE_RSOUND), 1)
|
|
RSOUND_CFLAGS := -DHAVE_RSOUND
|
|
RSOUND_LIBS := -lrsound
|
|
endif
|
|
|
|
ifeq ($(HAVE_FFMPEG), 1)
|
|
AVCODEC_LIBS := -lavcodec
|
|
AVUTIL_LIBS := -lavutil
|
|
SWSCALE_LIBS := -lswscale
|
|
AVFORMAT_LIBS := -lavformat
|
|
SWRESAMPLE_LIBS := -lswresample
|
|
FFMPEG_LIBS := -lws2_32 -lz
|
|
endif
|
|
|
|
OBJDIR := obj-w32
|
|
|
|
OS := Win32
|
|
OBJ :=
|
|
LIBS := -lm
|
|
DEFINES :=
|
|
DEFINES += -I. -Ilibretro-common/include -Ilibretro-common/include/compat/zlib -DRARCH_INTERNAL -DHAVE_SCREENSHOTS -DHAVE_OVERLAY
|
|
LDFLAGS := -L. -static-libgcc
|
|
|
|
include Makefile.common
|
|
|
|
HEADERS = $(wildcard */*/*.h) $(wildcard */*.h) $(wildcard *.h)
|
|
|
|
ifneq ($(HOST_PREFIX),)
|
|
CC = $(HOST_PREFIX)gcc
|
|
CXX = $(HOST_PREFIX)g++
|
|
WINDRES = $(HOST_PREFIX)windres
|
|
else
|
|
CC = gcc
|
|
CXX = g++
|
|
WINDRES = windres
|
|
endif
|
|
|
|
libretro ?= -lretro
|
|
|
|
ifeq ($(DYNAMIC), 1)
|
|
DEFINES += -DHAVE_DYNAMIC
|
|
else
|
|
LIBS += $(libretro)
|
|
endif
|
|
|
|
ifneq ($(V), 1)
|
|
Q := @
|
|
endif
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
CFLAGS += -O0 -g
|
|
CXXFLAGS += -O0 -g
|
|
else
|
|
CFLAGS += -O3 -ffast-math
|
|
CXXFLAGS += -O3 -ffast-math
|
|
endif
|
|
|
|
CFLAGS += $(DEF_FLAGS) -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps
|
|
CXXFLAGS += -Wall -Wno-unused-result -Wno-unused-variable -I. -Ideps -std=c++98 -D__STDC_CONSTANT_MACROS
|
|
ifeq ($(CXX_BUILD), 1)
|
|
CFLAGS += -std=c++98 -xc++ -D__STDC_CONSTANT_MACROS
|
|
else
|
|
ifneq ($(GNU90_BUILD), 1)
|
|
CFLAGS += -std=gnu99
|
|
endif
|
|
endif
|
|
|
|
RARCH_OBJ := $(addprefix $(OBJDIR)/,$(OBJ))
|
|
|
|
all: $(TARGET)
|
|
|
|
-include $(RARCH_OBJ:.o=.d)
|
|
|
|
$(TARGET): $(RARCH_OBJ)
|
|
@$(if $(Q), $(shell echo echo LD $@),)
|
|
$(Q)$(CXX) -o $@ $(RARCH_OBJ) $(LIBS) $(LDFLAGS) $(LDCXXFLAGS)
|
|
|
|
#those mkdir shenanigans are really ugly, but I can't find any better solution
|
|
$(OBJDIR)/%.o: %.c
|
|
@-mkdir -p $(dir $@) || mkdir $(subst /,\,$(dir $@)) || echo .
|
|
@$(if $(Q), $(shell echo echo CC $<),)
|
|
$(Q)$(CC) $(CFLAGS) $(DEFINES) -MMD -c -o $@ $<
|
|
|
|
$(OBJDIR)/%.o: %.cpp | $(dir $@)
|
|
@-mkdir -p $(dir $@) || mkdir $(subst /,\,$(dir $@)) || echo .
|
|
@$(if $(Q), $(shell echo echo CXX $<),)
|
|
$(Q)$(CXX) $(CXXFLAGS) $(DEFINES) -MMD -c -o $@ $<
|
|
|
|
$(OBJDIR)/%.o: %.rc $(HEADERS)
|
|
@-mkdir -p $(dir $@) || mkdir $(subst /,\,$(dir $@)) || echo .
|
|
@$(if $(Q), $(shell echo echo WINDRES $<),)
|
|
$(Q)$(WINDRES) $(DEFINES) -o $@ $<
|
|
|
|
clean:
|
|
rm -rf $(OBJDIR)
|
|
rm -f $(TARGET)
|
|
rm -f *.d
|
|
|
|
.PHONY: all install uninstall clean
|