From 0b60f71cb853b35e53d0b407493dbcfc098ed40e Mon Sep 17 00:00:00 2001 From: tobigun Date: Tue, 19 Oct 2010 16:39:31 +0000 Subject: initial commit git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@2684 b956fd51-792f-4845-bead-9b4dfca2ff2c --- mediaplugin/src/Makefile.in | 252 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 252 insertions(+) create mode 100644 mediaplugin/src/Makefile.in (limited to 'mediaplugin/src/Makefile.in') diff --git a/mediaplugin/src/Makefile.in b/mediaplugin/src/Makefile.in new file mode 100644 index 00000000..6e221af9 --- /dev/null +++ b/mediaplugin/src/Makefile.in @@ -0,0 +1,252 @@ +################################################# +# @PACKAGE_STRING@ +# @configure_input@ +################################################# + +@SET_MAKE@ +SHELL = /bin/sh + +################################################# +# Standard definitions +################################################# + +prefix ?= @prefix@ +exec_prefix ?= @exec_prefix@ +datarootdir ?= @datarootdir@ +datadir ?= @datadir@ +# project root-dir (directory of configure script) +top_srcdir ?= @top_srcdir@ +# project src-dir (directory of the current Makefile) +srcdir ?= @srcdir@ + +# file-type suffix of executables (e.g. ".exe" in windows) +EXEEXT ?= @EXEEXT@ + +################################################# +# Tools +################################################# + +# recursive dir creation tool (mkdir -p) +MKDIR ?= @MKDIR_P@ +RM ?= rm -f +RM_REC ?= $(RM) -r + +################################################# +# General package configuration +################################################# + +USDX_PACKAGE_NAME := @PACKAGE_NAME@ +USDX_VERSION := @PACKAGE_VERSION@ +USDX_TARNAME := @PACKAGE_TARNAME@ + +################################################# +# USDX Paths +################################################# + +USDX_SRC_DIR := $(top_srcdir)/src +USDX_GAME_DIR := $(top_srcdir)/game +USDX_TOOLS_DIR := $(top_srcdir)/tools +USDX_BUILD_DIR := $(top_srcdir)/build +USDX_LIB_DIR := $(USDX_SRC_DIR)/lib + +INSTALL_DATADIR := $(datadir)/$(USDX_PACKAGE_NAME) + +################################################# +# FPC config +################################################# + +# Free Pascal compiler binary +PPC := @PPC@ +# FPC target platform and processor +PPLATFORM := @FPC_PLATFORM@ +PPROCESSOR := @FPC_PROCESSOR@ + +# Directories added to the unit path +PUNIT_FLAGS := -Fu. + +# Directory where compiled units (.ppu and .o files) are stored +PCUNIT_DIR := $(USDX_BUILD_DIR)/fpc-$(PPROCESSOR)-$(PPLATFORM) +PCUNIT_FLAGS := -FU$(PCUNIT_DIR) + +# Directories added to the includes path +PINC_FLAGS := -Fi$(USDX_LIB_DIR)/JEDI-SDL/SDL/Pas + +## +# PFLAGS +## + +# Defined on debug mode +ENABLE_DEBUG := @ENABLE_DEBUG@ + +# Note: +# - PFLAGS/PFLAGS_* defaults to $(PFLAGS_XYZ_DEFAULT) if not set by the user +# - if PFLAGS is defined, PFLAGS_* will be ignored on "make all" +PFLAGS ?= @PFLAGS@ +PFLAGS_BASE ?= @PFLAGS_BASE@ +PFLAGS_DEBUG ?= @PFLAGS_DEBUG@ +PFLAGS_RELEASE ?= @PFLAGS_RELEASE@ + +# Do not overwrite, just add extra flags +PFLAGS_EXTRA += @PFLAGS_EXTRA@ + +# Default PFLAGS, used if PFLAGS/PFLAGS_* was not set by the user +# - Do not use -dDEBUG because it will enable unwanted features +# - Do not strip executable (-Xs, set by fpc.cfg) to be GNU make conformant +# - Use DEBUG_MODE instead of DEBUG to avoid enabling the fpc.cfg DEBUG preset +# - The flag -vB appends the full path to filenames +# - Note that fpc.cfg already defines -vinw, so add -v0 first +# - The stack check (-Ct) might not work with enabled threading +# - Do we need -Coi? +PFLAGS_BASE_DEFAULT := -Si -Sg- -Sc- -v0Binwe +PFLAGS_DEBUG_DEFAULT := -Xs- -g -gl -dDEBUG_MODE +PFLAGS_RELEASE_DEFAULT := -Xs- -O2 +PFLAGS_EXTRA_DEFAULT := + +# Debug/Release mode flags +# Note that flags will overwrite previously specified flags, +# e.g. "-vinwe -vi-" is the same as "-vnwe" +PFLAGS_DEBUG_ALL := $(PFLAGS_BASE) $(PFLAGS_DEBUG) $(PFLAGS_EXTRA) +PFLAGS_RELEASE_ALL := $(PFLAGS_BASE) $(PFLAGS_RELEASE) $(PFLAGS_EXTRA) + +# Choose default PFLAGS, depending on debug mode. +# Only used if PFLAGS was not set by the user. +ifdef ENABLE_DEBUG +PFLAGS_DEFAULT := $(PFLAGS_DEBUG_ALL) +else +PFLAGS_DEFAULT := $(PFLAGS_RELEASE_ALL) +endif + +### +# linker and library settings +### + +LIBS ?= @LIBS@ +LDFLAGS ?= @LDFLAGS@ +linkflags := -L/usr/lib $(LDFLAGS) $(sort $(LIBS)) +ifneq ($(linkflags),) +PLINKFLAGS := -k"$(linkflags)" +endif + +PFLAGS_ALL = $(PFLAGS) $(PDEFINES) $(PLINKFLAGS) $(PINC_FLAGS) $(PUNIT_FLAGS) $(PCUNIT_FLAGS) + +################################################# +# USDX project config +################################################# + +# dpr project file used as input +USDX_PROJ := ultrastardx.dpr +# name of executable +USDX_BIN_NAME ?= ultrastardx$(EXEEXT) +USDX_BIN := $(USDX_GAME_DIR)/$(USDX_BIN_NAME) + +################################################# +# ProjectM +################################################# + +PROJECTM_CWRAPPER_DIR := $(USDX_LIB_DIR)/projectM/cwrapper +PROJECTM_CWRAPPER_LIB := $(PROJECTM_CWRAPPER_DIR)/libprojectM-cwrapper.a +USE_PROJECTM_CWRAPPER := @USE_PROJECTM_CWRAPPER@ + +################################################# +# Static libs +################################################# + +STATIC_LIBS := +ifeq ($(USE_PROJECTM_CWRAPPER), yes) +STATIC_LIBS += $(PROJECTM_CWRAPPER_LIB) +endif + +################################################# +# general targets +################################################# + +.PHONY: all +all: build + +# One shot debug build (always rebuild) +# Note: we cannot set PFLAGS and call build directly, +# as target specific flags are not passed at recursive +# make calls. So call debug-build first. +.PHONY: debug debug-build +debug: clean_obj + $(MAKE) debug-build + +debug-build: PFLAGS := $(PFLAGS_DEBUG_ALL) +debug-build: build + +# One shot release build (always rebuild) +# Note: we cannot set PFLAGS and call build directly, +# as target specific flags are not passed at recursive +# make calls. So call release-build first. +.PHONY: release release-build +release: clean_obj + $(MAKE) release-build + +release-build: PFLAGS := $(PFLAGS_RELEASE_ALL) +release-build: build + +# Always rebuild, even if no file changed. +.PHONY: rebuild +rebuild: clean_obj + $(MAKE) build + +# Build if files changed. Always clean old data before compiling. +# FPC does not reliably recognize changes, neither in .pas, +# .inc-files nor static libs (.a/.o). This might result in corrupted +# builds and renders debugging difficult (because FPC uses outdated +# .ppu/.o data of files that have been changed). +.PHONY: build +build: $(USDX_BIN) + +################################################# +# build +################################################# + +SRC_FILES = $(shell find $(srcdir) -name "*.inc" -o -name "*.pas" -o -name "*.pp") + +# To conform to the GNU Coding Standards, INSTALL_DATADIR is +# not hardcoded so $prefix and $datadir can be changed at any +# execution of this Makefile. +# Paths cannot be passed to fpc via -d as with gcc's -D parameter. +# We use an intermediate file instead. +# +# See [info autoconf], "19.5 How Do I `#define' Installation Directories?" +# +# Do NOT use paths.inc as target name as it is in the requisite list +# of $(USDX_BIN). +.PHONY: create-pathinfo +create-pathinfo: + echo "INSTALL_DATADIR = '$(INSTALL_DATADIR)';" > paths.inc + +# check if any src-file changed and rebuild +$(USDX_BIN): $(USDX_PROJ) $(STATIC_LIBS) $(SRC_FILES) + @echo "===================================" + @echo "Changed files:" + @echo "$?" + @echo "===================================" + @echo "-----------------------------------" + @echo "Clean old object data..." + + $(MAKE) clean_obj + + @echo "-----------------------------------" + + $(MKDIR) "$(PCUNIT_DIR)" + $(MAKE) create-pathinfo + $(PPC) $(strip $(PFLAGS_ALL)) -o$@ $(USDX_PROJ) + +################################################# +# clean-up +################################################# + +.PHONY: clean +clean: clean_obj + $(RM) paths.inc + +.PHONY: clean_obj +clean_obj: clean_bin + $(RM_REC) "$(PCUNIT_DIR)" + +.PHONY: clean_bin +clean_bin: + $(RM) "$(USDX_BIN)" -- cgit v1.2.3