Commit Description:
Various UI improvements.
Commit Description:
Various UI improvements.
File last commit:
Show/Diff file:
Action:
FNA/lib/Theorafile/Makefile
105 lines | 2.3 KiB | text/x-makefile | MakefileLexer
# Makefile for Theorafile
# Written by Ethan "flibitijibibo" Lee
# System information
UNAME = $(shell uname)
ARCH = $(shell uname -m)
# Detect cross targets
WINDOWS_TARGET=0
APPLE_TARGET=0
ifeq ($(OS), Windows_NT) # cygwin/msys2
WINDOWS_TARGET=1
endif
ifneq (,$(findstring w64-mingw32,$(CC))) # mingw-w64 on Linux
WINDOWS_TARGET=1
endif
ifeq ($(UNAME), Darwin)
APPLE_TARGET=1
endif
ifneq (,$(findstring apple-darwin,$(CC))) # osxcross on Linux
APPLE_TARGET=1
endif
# Compiler
ifeq ($(WINDOWS_TARGET),1)
TARGET = dll
LDFLAGS += -static-libgcc
else ifeq ($(APPLE_TARGET),1)
CC += -mmacosx-version-min=10.9
TARGET = dylib
CFLAGS += -fpic -fPIC
LDFLAGS += -install_name @rpath/libtheorafile.dylib
else
TARGET = so
CFLAGS += -fpic -fPIC
endif
CFLAGS += -O3
# CPU Arch Flags
ifeq ($(ARCH), x86_64)
DEFINES += -DOC_X86_ASM -DOC_X86_64_ASM
else # Assuming x86...
DEFINES += -DOC_X86_ASM
endif
SRCDIR = $(dir $(MAKEFILE_LIST))
vpath %.c $(SRCDIR)
# Includes
INCLUDES = -I$(SRCDIR) -I$(SRCDIR)/lib -I$(SRCDIR)/lib/ogg -I$(SRCDIR)/lib/vorbis -I$(SRCDIR)/lib/theora
# Source
TFSRC = \
theorafile.c \
lib/ogg/bitwise.c \
lib/ogg/framing.c \
lib/vorbis/analysis.c \
lib/vorbis/bitrate.c \
lib/vorbis/block.c \
lib/vorbis/codebook.c \
lib/vorbis/envelope.c \
lib/vorbis/floor0.c \
lib/vorbis/floor1.c \
lib/vorbis/vinfo.c \
lib/vorbis/lookup.c \
lib/vorbis/lpc.c \
lib/vorbis/lsp.c \
lib/vorbis/mapping0.c \
lib/vorbis/mdct.c \
lib/vorbis/psy.c \
lib/vorbis/registry.c \
lib/vorbis/res0.c \
lib/vorbis/sharedbook.c \
lib/vorbis/smallft.c \
lib/vorbis/synthesis.c \
lib/vorbis/window.c \
lib/theora/apiwrapper.c \
lib/theora/bitpack.c \
lib/theora/decapiwrapper.c \
lib/theora/decinfo.c \
lib/theora/decode.c \
lib/theora/dequant.c \
lib/theora/fragment.c \
lib/theora/huffdec.c \
lib/theora/idct.c \
lib/theora/tinfo.c \
lib/theora/internal.c \
lib/theora/quant.c \
lib/theora/state.c \
lib/theora/x86/mmxfrag.c \
lib/theora/x86/mmxidct.c \
lib/theora/x86/mmxstate.c \
lib/theora/x86/x86state.c
# Targets
all: $(TFSRC)
$(CC) $(CFLAGS) -shared -o libtheorafile.$(TARGET) $^ $(INCLUDES) $(DEFINES) -lm $(LDFLAGS)
clean:
rm -f libtheorafile.$(TARGET)
test:
$(CC) -g -o theorafile-test sdl2test/sdl2test.c $(TFSRC) $(INCLUDES) $(DEFINES) `sdl2-config --cflags --libs` -lm