aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in473
1 files changed, 473 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 00000000..7e9450a6
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,473 @@
+#################################################
+# @PACKAGE_STRING@
+# @configure_input@
+#################################################
+
+@SET_MAKE@
+SHELL = /bin/sh
+
+#################################################
+# Standard definitions
+#################################################
+
+prefix ?= @prefix@
+exec_prefix ?= @exec_prefix@
+bindir ?= @bindir@
+datarootdir ?= @datarootdir@
+datadir ?= @datadir@
+libdir ?= @libdir@
+docdir ?= @docdir@
+pdfdir ?= @pdfdir@
+mandir ?= @mandir@
+# 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
+
+# install tool
+INSTALL ?= @INSTALL@
+INSTALL_DATA ?= @INSTALL_DATA@
+INSTALL_PROGRAM ?= @INSTALL_PROGRAM@
+
+#################################################
+# 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)
+
+#################################################
+# Binary name
+#################################################
+
+# 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
+USE_PROJECTM_CWRAPPER = @USE_PROJECTM_CWRAPPER@
+
+#################################################
+# Dependencies
+#################################################
+
+DEPS :=
+ifeq ($(USE_PROJECTM_CWRAPPER), yes)
+DEPS += $(PROJECTM_CWRAPPER_DIR)
+endif
+
+#################################################
+# general targets
+#################################################
+
+##
+# IMPORTANT:
+# Always assure that this Makefile still works with the -jN
+# parameter set. This is important as Gentoo uses parallel
+# make (-j2) by default.
+# If parallel execution is enabled you cannot rely on a
+# specific order the prerequisites are build.
+#
+# Example:
+# target: dependency dependant
+#
+# will first build "dependency" and "dependant" afterwards with a
+# sequential execution (-j1). With parallel execution "dependant"
+# might be started before "dependency" is finished and make will
+# crash.
+#
+# If it is not possible, add the virtual .NOTPARALLEL target.
+# This will disable parallel execution for ALL targets.
+##
+
+BUILD_TARGETS = all debug release rebuild build
+.PHONY: $(BUILD_TARGETS)
+$(BUILD_TARGETS): all-deps
+ $(MAKE) -C $(USDX_SRC_DIR) $@
+
+.PHONY: all-deps
+all-deps:
+ @for dir in $(DEPS); do \
+ $(MAKE) -C "$$dir" all; \
+ done
+
+.PHONY: clean
+clean: clean-src clean-deps
+
+.PHONY: clean-src
+clean-src:
+ $(MAKE) -C $(USDX_SRC_DIR) clean
+
+.PHONY: clean-deps
+clean-deps:
+ @for dir in $(DEPS); do \
+ $(MAKE) -C "$$dir" clean; \
+ done
+
+.PHONY: clean-game
+clean-game:
+ $(RM) $(USDX_GAME_DIR)/*.log
+ $(RM) $(USDX_GAME_DIR)/*.db
+ $(RM) $(USDX_GAME_DIR)/*.ini
+ -rmdir $(USDX_GAME_DIR)/screenshots
+ -rmdir $(USDX_GAME_DIR)/playlists
+ -rmdir $(USDX_GAME_DIR)/songs
+
+# just clean the game build data but no dependencies (libs, tools, ...)
+.PHONY: mostlyclean
+mostlyclean: clean-src
+
+.PHONY: distclean
+distclean: clean clean-game
+ $(RM) config.log config.status aclocal.m4
+ $(RM_REC) autom4te.cache
+ $(RM) $(USDX_SRC_DIR)/config.inc
+ $(RM) $(srcdir)/Makefile $(USDX_SRC_DIR)/Makefile $(PROJECTM_CWRAPPER_DIR)/Makefile
+
+.PHONY: maintainer-clean
+maintainer-clean: distclean
+
+# remove temporary and backup files
+.PHONY: tidy
+tidy:
+# FPC stuff
+ find $(srcdir) -name "*.compiled" | xargs $(RM)
+# Delphi stuff
+ find $(srcdir) -name "__history" | xargs $(RM_REC)
+ find $(srcdir) -name "*.identcache" -o -name "*.dcu" | xargs $(RM)
+# Backup files
+ find $(srcdir) -name "*~" -o -name "*.bak" -o -name "*.orig" | xargs $(RM)
+
+
+#################################################
+# auto-update
+#################################################
+
+Makefile: $(srcdir)/Makefile.in $(USDX_SRC_DIR)/Makefile.in $(USDX_SRC_DIR)/config.inc.in $(PROJECTM_CWRAPPER_DIR)/Makefile.in config.status
+ @echo "-----------------------------------"
+ @echo "Performing reconfiguration..."
+ ./config.status
+ @echo "-----------------------------------"
+
+config.status: configure
+ ./config.status --recheck
+
+.PHONY: reconf
+reconf:
+ ./autogen.sh
+
+#################################################
+# install/uninstall
+#################################################
+
+##
+# For information on directory and install conventions see
+# "info autoconf", Section 4.8.2. Installation Directory Variables
+# Section 4.8.1, 4.8.3 and 4.8.4
+# Notes:
+# - "make install" must not rebuild, so do not depend on all.
+# - use the DESTDIR variable as prefix for installation directories,
+# otherwise Gentoo will not be able to install as it uses a sandbox.
+##
+
+.PHONY: install
+install: install-all
+ @echo "--------------------------------"
+ @echo "$(USDX_PACKAGE_NAME) installed."
+ @echo "Start with: $(bindir)/$(USDX_BIN_NAME)"
+ @echo "--------------------------------"
+
+# strip binaries during install
+install-strip:
+ $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
+ install
+
+.PHONY: install-all
+install-all: install-exec install-plugins install-data
+
+.PHONY: install-exec
+install-exec:
+ $(MKDIR) "$(DESTDIR)$(bindir)"
+ $(INSTALL_PROGRAM) "$(USDX_BIN)" "$(DESTDIR)$(bindir)"
+
+# FPC target platform and processor
+PPLATFORM := @FPC_PLATFORM@
+PPROCESSOR := @FPC_PROCESSOR@
+
+.PHONY: install-plugins
+install-plugins:
+ $(MKDIR) "$(DESTDIR)$(INSTALL_DATADIR)/plugins"
+ $(INSTALL) "$(USDX_GAME_DIR)/plugins"/* "$(DESTDIR)$(INSTALL_DATADIR)/plugins"
+
+.PHONY: install-data
+install-data:
+ $(MAKE) RECURSIVE_SRC_DIR="$(USDX_GAME_DIR)/languages" \
+ RECURSIVE_DST_DIR="$(DESTDIR)$(INSTALL_DATADIR)/languages" \
+ install-data-recursive
+ $(MAKE) RECURSIVE_SRC_DIR="$(USDX_GAME_DIR)/sounds" \
+ RECURSIVE_DST_DIR="$(DESTDIR)$(INSTALL_DATADIR)/sounds" \
+ install-data-recursive
+ $(MAKE) RECURSIVE_SRC_DIR="$(USDX_GAME_DIR)/themes" \
+ RECURSIVE_DST_DIR="$(DESTDIR)$(INSTALL_DATADIR)/themes" \
+ install-data-recursive
+ $(MAKE) RECURSIVE_SRC_DIR="$(USDX_GAME_DIR)/fonts" \
+ RECURSIVE_DST_DIR="$(DESTDIR)$(INSTALL_DATADIR)/fonts" \
+ install-data-recursive
+ $(MAKE) RECURSIVE_SRC_DIR="$(USDX_GAME_DIR)/resources" \
+ RECURSIVE_DST_DIR="$(DESTDIR)$(INSTALL_DATADIR)/resources" \
+ install-data-recursive
+ $(INSTALL_DATA) "COPYING.txt" "$(DESTDIR)$(INSTALL_DATADIR)/COPYING.txt"
+
+.PHONY: install-data-recursive
+install-data-recursive:
+# Note: the project contains filesnames with whitespace
+ $(MKDIR) "$(RECURSIVE_DST_DIR)"
+ @for file in "$(RECURSIVE_SRC_DIR)"/*; do \
+ if test -f "$$file"; then \
+ filename=`basename "$$file"`; \
+ echo "$(INSTALL_DATA) \"$$file\" \"$(RECURSIVE_DST_DIR)/$$filename\""; \
+ $(INSTALL_DATA) "$$file" "$(RECURSIVE_DST_DIR)/$$filename" || exit 1; \
+ fi; \
+ if test -d "$$file"; then \
+ subdir="$$file"; \
+ subdirname=`basename "$$subdir"`; \
+ $(MAKE) RECURSIVE_SRC_DIR="$$subdir" \
+ RECURSIVE_DST_DIR="$(RECURSIVE_DST_DIR)/$$subdirname" \
+ install-data-recursive || exit 1; \
+ fi; \
+ done
+
+.PHONY: uninstall
+uninstall: uninstall-all
+
+.PHONY: uninstall-all
+uninstall-all: uninstall-data uninstall-exec uninstall-plugins
+
+.PHONY: uninstall-data
+uninstall-data:
+ $(RM_REC) "$(DESTDIR)$(INSTALL_DATADIR)/languages"
+ $(RM_REC) "$(DESTDIR)$(INSTALL_DATADIR)/sounds"
+ $(RM_REC) "$(DESTDIR)$(INSTALL_DATADIR)/themes"
+ $(RM_REC) "$(DESTDIR)$(INSTALL_DATADIR)/fonts"
+ $(RM_REC) "$(DESTDIR)$(INSTALL_DATADIR)/resources"
+ $(RM) "$(DESTDIR)$(INSTALL_DATADIR)/COPYING.txt"
+ -rmdir "$(DESTDIR)$(INSTALL_DATADIR)"
+
+.PHONY: uninstall-exec
+uninstall-exec:
+ $(RM) "$(DESTDIR)$(bindir)/$(USDX_BIN_NAME)"
+
+.PHONY: uninstall-plugins
+uninstall-plugins:
+ $(RM_REC) "$(DESTDIR)$(INSTALL_DATADIR)/plugins"
+
+#################################################
+# Distributable source-package (TODO)
+#################################################
+
+#disttmpdir := $(USDX_PACKAGE_NAME)-$(USDX_VERSION)-src
+disttmpdir := $(USDX_PACKAGE_NAME)-1.1_alpha-src
+# choose all files in SVN that are not deleted
+svn-files := svn status -v | grep -v "^[?D]" | cut -c8- | tr -s " " | cut -f5- -d" "
+
+.PHONY: dist
+dist:
+ @$(svn-files) | while read FILE; do \
+ if test -d "$$FILE"; then \
+ echo "MKDIR: $(disttmpdir)/$$FILE"; \
+ $(MKDIR) "$(disttmpdir)/$$FILE" || exit 1; \
+ else \
+ echo "COPY: $$FILE"; \
+ cp "$$FILE" "$(disttmpdir)/$$FILE" || exit 1; \
+ fi; \
+ done
+ tar cvf $(disttmpdir).tar $(disttmpdir)
+ gzip $(disttmpdir).tar
+ $(RM_REC) $(disttmpdir)
+
+#################################################
+# Debian package
+#################################################
+
+debpkgdir ?= dists/debian
+debpkgtmpdir := $(debpkgdir)/deb-package
+debpkgprefix := $(USDX_PACKAGE_NAME)
+debpkgname := $(debpkgprefix)_$(USDX_VERSION)_$(PPROCESSOR).deb
+
+.PHONY: deb
+deb: all
+ $(RM_REC) $(debpkgtmpdir)
+
+ $(MKDIR) $(debpkgdir)
+ $(MKDIR) $(debpkgtmpdir)/DEBIAN
+
+ $(MAKE) DESTDIR=$(debpkgtmpdir)/ install-all
+
+ $(INSTALL_DATA) $(debpkgdir)/$(debpkgprefix).control $(debpkgtmpdir)/DEBIAN/control
+
+ dpkg-deb --build $(debpkgtmpdir)
+ mv $(debpkgtmpdir)/../deb-package.deb $(debpkgdir)/$(debpkgname)
+
+ $(RM_REC) $(debpkgtmpdir)
+
+#################################################
+# RPM (TODO)
+#################################################
+
+.PHONY: rpm
+rpm: all
+ @echo "Coming soon"
+
+
+#################################################
+# Mac OS X defines
+#################################################
+
+# otool: Mac OS X object file displaying tool
+OTOOL := /usr/bin/otool
+# install_name_tool: Mac OS X tool to change dynamic shared library install names
+INSTALL_NAME_TOOL := /usr/bin/install_name_tool
+# hdiutil: Mac OS X disk image tool
+HDIUTIL := /usr/bin/hdiutil
+# finkLibDir := path for libraries installed using fink
+finkLibDir := /sw/lib
+
+#################################################
+# Mac OS X app-bundle
+#################################################
+
+macosx_bundle_path := UltraStarDeluxe.app/Contents
+.PHONY: macosx-app
+macosx-app: all
+# Create double clickable Mac OS X application.
+
+ @echo ""
+ @echo "Creating the Mac OS X application"
+ @echo ""
+
+ $(MKDIR) $(macosx_bundle_path)
+
+# Put the icon file into its particular place.
+# Must be done BEFORE info.plist is created.
+ $(MKDIR) $(macosx_bundle_path)/resources
+ $(INSTALL_DATA) icons/ultrastardx.icns $(macosx_bundle_path)/resources/
+
+# the info.plist file
+ $(INSTALL_DATA) $(USDX_SRC_DIR)/macosx/Info.plist $(macosx_bundle_path)/
+
+# Copy the resources.
+ $(MAKE) install-all INSTALL_DATADIR=$(macosx_bundle_path) bindir=$(macosx_bundle_path)/MacOS
+
+# Copy the lua plugins.
+ $(MAKE) install-plugins INSTALL_DATADIR=$(macosx_bundle_path) bindir=$(macosx_bundle_path)/MacOS
+
+# Create the song directory.
+ $(MKDIR) $(macosx_bundle_path)/songs
+
+# final messages
+ @echo ""
+ @echo "Mac OS X application created."
+ @echo "Please report issues to the developer team, preferably mischi."
+ @echo "Have fun."
+ @echo ""
+
+.PHONY: macosx-standalone-app
+macosx-standalone-app: macosx-app
+# Create double clickable standalone (does not need fink) Mac OS X
+# application. Not fully test, but should work on 10.5.
+
+ @echo ""
+ @echo "Creating the standalone Mac OS X application"
+ @echo ""
+
+# copy the dylib and change its install names
+
+define install_osx_libraries
+ $(shell $(INSTALL) -m 755 $(dylib) $(macosx_bundle_path)/MacOS)
+ $(shell $(INSTALL_NAME_TOOL) -change $(dylib) @executable_path/$(notdir $(dylib)) $(macosx_bundle_path)/MacOS/ultrastardx)
+ $(shell $(INSTALL_NAME_TOOL) -id @executable_path/$(notdir $(dylib)) $(macosx_bundle_path)/MacOS/$(notdir $(dylib)))
+ $(foreach linked_dylibs_2,$(shell $(OTOOL) -L $(dylib) | grep version | cut -f 1 -d ' ' | grep -v \/System\/Library | grep -v \usr\/lib | grep -v executable_path),$(rename_secondary_osx_libraries))
+endef
+
+define rename_secondary_osx_libraries
+ $(shell $(INSTALL_NAME_TOOL) -change $(linked_dylibs_2) @executable_path/$(notdir $(linked_dylibs_2)) $(macosx_bundle_path)/MacOS/$(notdir $(dylib)))
+endef
+
+# work on the dylibs in $(macosx_bundle_path)/MacOS/ultrastardx
+ $(foreach dylib,$(shell $(OTOOL) -L $(macosx_bundle_path)/MacOS/ultrastardx | grep version | cut -f 1 -d ' ' | grep -v \/System\/Library | grep -v \/usr\/lib),$(install_osx_libraries))
+
+# work on the secondary dylibs from ffmpeg
+# libavcodec references all tertiary libraries of the ffmpeg libs
+ $(foreach dylib,$(shell $(OTOOL) -L $(finkLibDir)/libavcodec.dylib | grep version | cut -f 1 -d ' ' | grep -v \/System\/Library | grep -v \/usr\/lib),$(install_osx_libraries))
+# same procedure in libfaac. it gets libgnugetopt
+ $(foreach dylib,$(shell $(OTOOL) -L $(finkLibDir)/libfaac.dylib | grep version | cut -f 1 -d ' ' | grep -v \/System\/Library | grep -v \/usr\/lib),$(install_osx_libraries))
+
+# same procedure for tertiary libs in SDL_image
+ $(foreach dylib,$(shell $(OTOOL) -L $(finkLibDir)/libSDL_image.dylib | grep version | cut -f 1 -d ' ' | grep -v \/System\/Library | grep -v \/usr\/lib),$(install_osx_libraries))
+
+# X11 libs as well, because users may not have installed it on 10.4
+ $(foreach dylib,$(shell $(OTOOL) -L /usr/X11R6/lib/libX11.dylib | grep version | cut -f 1 -d ' ' | grep -v \/System\/Library | grep -v \/usr\/lib),$(install_osx_libraries))
+
+# libpcre.dylib must be installed extra, since it is not linked to the executable but opened using dlopen
+ $(shell $(INSTALL) -m 755 $(finkLibDir)/libpcre.dylib $(macosx_bundle_path)/MacOS)
+ $(shell $(INSTALL_NAME_TOOL) -change $(finkLibDir)/libpcre.dylib @executable_path/libpcre.dylib $(macosx_bundle_path)/MacOS/libpcre.dylib)
+ $(shell $(INSTALL_NAME_TOOL) -id @executable_path/libpcre.dylib $(macosx_bundle_path)/MacOS/libpcre.dylib)
+
+# final messages
+ @echo "Standalone Mac OS X application created."
+ @echo ""
+
+.PHONY: macosx-dmg
+macosx-dmg: macosx-standalone-app
+ $(RM) UltraStarDeluxe.dmg
+ $(RM) UltraStarDeluxe.sparseimage
+ $(HDIUTIL) create -type SPARSE -size 100m -fs HFS+ -volname UltraStarDeluxe -ov UltraStarDeluxe.sparseimage
+ $(HDIUTIL) attach UltraStarDeluxe.sparseimage
+ /bin/cp -R UltraStarDeluxe.app /Volumes/UltraStarDeluxe
+# /bin/cp ultrastardx/icons/UltraStarDeluxeVolumeIcon.icns /Volumes/UltraStarDeluxe/.VolumeIcon.icns
+# /Developer/Tools/SetFile -a C /Volumes/UltraStarDeluxe/.VolumeIcon.icns /Volumes/UltraStarDeluxe
+ $(HDIUTIL) detach /Volumes/UltraStarDeluxe
+ $(HDIUTIL) convert UltraStarDeluxe.sparseimage -format UDBZ -o UltraStarDeluxe.dmg
+ $(RM) UltraStarDeluxe.sparseimage
+
+# remove Mac OS X apllication bundle and disk image
+.PHONY: clean-macosx
+clean-macosx: clean-macosx-app clean-macosx-dmg
+
+.PHONY: clean-macosx-app
+clean-macosx-app:
+ $(RM_REC) UltraStarDeluxe.app
+
+.PHONY: clean-macosx-dmg
+clean-macosx-dmg:
+ $(RM) UltraStarDeluxe.dmg
+ $(RM) UltraStarDeluxe.sparseimage