Skip to content

Instantly share code, notes, and snippets.

@jvcleave
Created January 27, 2013 21:23
Show Gist options
  • Select an option

  • Save jvcleave/4650594 to your computer and use it in GitHub Desktop.

Select an option

Save jvcleave/4650594 to your computer and use it in GitHub Desktop.
ofxOMXPlayer static make
################################################################################
# CONFIGURE PROJECT MAKEFILE
# This file is where we make project specific configurations.
################################################################################
OF_ROOT=../../..
################################################################################
# Custom Application Name
# Will default to the project's folder name if not defined.
################################################################################
APPNAME=ofxOMXPlayerExample.app
################################################################################
# PROJECT ROOT
# If not defined, the project root is assumed to be "this" directory (i.e. ./)
################################################################################
PROJECT_ROOT = .
################################################################################
# PROJECT SPECIFIC CHECKS
# This is a project defined section to create internal makefile flags to
# conditionally enable or disable the addition of various features within
# this makefile. For instance, if you want to make changes based on whether
# GTK is installed, one might test that here and create a variable to check.
################################################################################
# None
# ################################################################################
# # PROJECT EXTERNAL SOURCE PATHS
# # These are fully qualified paths that are not within the PROJECT_ROOT folder.
# # Like source folders in the PROJECT_ROOT, these paths are subject to
# # exlclusion via the PROJECT_EXLCUSIONS list.
# #
# # Note: Leave a leading space when adding list items with the += operator
# ################################################################################
# PROJECT_EXTERNAL_SOURCE_PATHS =
################################################################################
# PROJECT EXCLUSIONS
# These makefiles assume that all folders in your current project directory
# and any listed in the PROJECT_EXTERNAL_SOURCH_PATHS are are valid locations
# to look for source code. The any folders or files that match any of the
# items in the PROJECT_EXCLUSIONS list below will be ignored.
#
# Each item in the PROJECT_EXCLUSIONS list will be treated as a complete
# string unless teh user adds a wildcard (%) operator to match subdirectories.
# GNU make only allows one wildcard for matching. The second wildcard (%) is
# treated literally.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
PROJECT_EXCLUSIONS =
PROJECT_EXCLUSIONS += $(PROJECT_ROOT)/bin%
PROJECT_EXCLUSIONS += $(PROJECT_ROOT)/obj%
PROJECT_EXCLUSIONS += $(PROJECT_ROOT)/%.xcodeproj
################################################################################
# PROJECT LINKER FLAGS
# These flags will be sent to the linker when compiling the executable.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
# Currently, shared libraries that are needed are copied to the
# $(PROJECT_ROOT)/bin/libs directory. The following LDFLAGS tell the linker to
# add a runtime path to search for those shared libraries, since they aren't
# incorporated directly into the final executable application binary.
# TODO: should this be a default setting?
LIBAVUTIL_STATIC=$(PROJECT_ROOT)/addons/ofxOMXPlayer/ffmpeg/lib/libavutil.a
LIBAVCODEC_STATIC=$(PROJECT_ROOT)/addons/ofxOMXPlayer/ffmpeg/lib/libavcodec.a
LIBAVFORMAT_STATIC=$(PROJECT_ROOT)/addons/ofxOMXPlayer/ffmpeg/lib/libavformat.a
LIBSWSCALE_STATIC=$(PROJECT_ROOT)/addons/ofxOMXPlayer/ffmpeg/lib/libswscale.a
PROJECT_LDFLAGS=-Wl -Wfatal-errors,-rpath=./libs -L./addons/ofxOMXPlayer/ffmpeg/lib -lvchiq_arm -lvcos -lrt -lpthread $(LIBAVUTIL_STATIC) $(LIBAVCODEC_STATIC) $(LIBAVFORMAT_STATIC) $(LIBSWSCALE_STATIC) -lpcre
################################################################################
# PROJECT DEFINES
# Create a space-delimited list of DEFINES. The list will be converted into
# CFLAGS with the "-D" flag later in the makefile.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
#PROJECT_DEFINES = OMX_DEBUG_EVENTS
################################################################################
# PROJECT CFLAGS
# This is a list of fully qualified CFLAGS required when compiling for this
# project. These CFLAGS will be used IN ADDITION TO the PLATFORM_CFLAGS
# defined in your platform specific core configuration files. These flags are
# presented to the compiler BEFORE the PROJECT_OPTIMIZATION_CFLAGS below.
#
# Note: Before adding PROJECT_CFLAGS, note that the PLATFORM_CFLAGS defined in
# your platform specific configuration file will be applied by default and
# further flags here may not be needed.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
PROJECT_CFLAGS = -I./addons/ofxOMXPlayer/ffmpeg/include -std=c++0x -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST -Wfatal-errors
################################################################################
# PROJECT OPTIMIZATION CFLAGS
# These are lists of CFLAGS that are target-specific. While any flags could
# be conditionally added, they are usually limited to optimization flags.
# These flags are added BEFORE the PROJECT_CFLAGS.
#
# PROJECT_OPTIMIZATION_CFLAGS_RELEASE flags are only applied to RELEASE targets.
#
# PROJECT_OPTIMIZATION_CFLAGS_DEBUG flags are only applied to DEBUG targets.
#
# Note: Before adding PROJECT_OPTIMIZATION_CFLAGS, please note that the
# PLATFORM_OPTIMIZATION_CFLAGS defined in your platform specific configuration
# file will be applied by default and further optimization flags here may not
# be needed.
#
# Note: Leave a leading space when adding list items with the += operator
################################################################################
PROJECT_CFLAGS_RELEASE =
PROJECT_CFLAGS_DEBUG =
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment