diff options
author | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-08-27 13:28:57 +0000 |
---|---|---|
committer | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-08-27 13:28:57 +0000 |
commit | 1ba91d5a0e1df7419a561f6dcf16a0839509a5e7 (patch) | |
tree | 3f76e96fc5a3f5b738dabce28642ff2415748ccb /src/Makefile.in | |
parent | e9fd8ce40b4cbf006695fd6e56f84071407843c9 (diff) | |
download | usdx-1ba91d5a0e1df7419a561f6dcf16a0839509a5e7.tar.gz usdx-1ba91d5a0e1df7419a561f6dcf16a0839509a5e7.tar.xz usdx-1ba91d5a0e1df7419a561f6dcf16a0839509a5e7.zip |
Reordering of the directories[1]: moving Game/Code to src
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1302 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'src/Makefile.in')
-rw-r--r-- | src/Makefile.in | 393 |
1 files changed, 393 insertions, 0 deletions
diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 00000000..8fc31bd8 --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,393 @@ +################################################# +# Makefile for @PACKAGE_STRING@ +# @configure_input@ +################################################# + +# general definitions +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +libdir = @libdir@ +infodir = @infodir@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +datarootdir = @datarootdir@ +VPATH = @srcdir@ +usdxrootdir = @usdxrootdir@ + +INSTALL_PATH_SUFFIX = @suffix@ +INSTALL_datadir = $(datarootdir)/$(INSTALL_PATH_SUFFIX) + +@SET_MAKE@ + +# recursive dir creation tool +MKDIR_P = @MKDIR_P@ +# install tool +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +# calls "ln -s" +LN_S = @LN_S@ + +# Package configuration +USDX_PACKAGE_NAME = @PACKAGE_NAME@ +# should be $(USDX_PACKAGE_NAME) instead +USDX_PREFIX = ultrastardx +USDX_VERSION = @PACKAGE_VERSION@ +USDX_TARNAME = @PACKAGE_TARNAME@ + +USDX_TOOLS_DIR = $(usdxrootdir)/Tools +USDX_LIB_DIR = ./lib +USDX_BUILD_DIR = ./build + +# file-type suffix of executables (e.g. ".exe" in windows) +EXE_SUFFIX = @EXEEXT@ + +# Free Pascal compiler +PPC = @PPC@ +# FPC target platform and processor +PPLATFORM = @FPC_PLATFORM@ +PPROCESSOR = @FPC_PROCESSOR@ + +EXTRA_SRCDIRS = + +# RC resource extraction config +RESEXTRACTOR_NAME = ResourceExtractor +RESEXTRACTOR_DIR = $(USDX_TOOLS_DIR)/$(RESEXTRACTOR_NAME) +RESEXTRACTOR_BIN = $(RESEXTRACTOR_DIR)/$(RESEXTRACTOR_NAME)$(EXE_SUFFIX) +RESOURCE_DIR = $(usdxrootdir)/Resources +RESOURCE_FILE = resource.inc +RC_FILE = UltraStar.rc +EXTRA_SRCDIRS += $(RESEXTRACTOR_DIR) + +# cwrapper settings +PROJECTM_CWRAPPER_DIR = $(USDX_LIB_DIR)/projectM/cwrapper +@COMMENT_PROJECTM_CWRAPPER@EXTRA_SRCDIRS += $(PROJECTM_CWRAPPER_DIR) + +# Directories added to the unit path +PUNIT_TOKEN = -Fu +PUNIT_FLAGS = $(PUNIT_TOKEN). + +# Directory where compiled units (.ppu and .o files) are stored +PCUNIT_TOKEN = -FU +PCUNIT_DIR = $(USDX_BUILD_DIR)/$(PPLATFORM)/fpc +PCUNIT_FLAGS = $(PCUNIT_TOKEN)$(PCUNIT_DIR) + +# Directories added to the includes path +PINC_TOKEN = -Fi +PINC_FLAGS = $(PINC_TOKEN)$(USDX_LIB_DIR)/JEDI-SDL/SDL/Pas + +# FPC flags + +# The user can overwrite the default flags with +# make PFLAGS_BASE="myflags" +PFLAGS_BASE = -S2gi -vB +# The user can specify additional flags with +# make PFLAGS_EXTRA="myflags" +PFLAGS_EXTRA = @PFLAGS_EXTRA@ +PFLAGS_DEBUG = @PFLAGS_DEBUG@ +PFLAGS_RELEASE = @PFLAGS_RELEASE@ +# the user's flags (specified with configure) must be the last in +# the list to overwrite the defaults (e.g.with the - option: -Xs-). +PFLAGS = $(PFLAGS_BASE) @PFLAGS_MAKE@ $(PFLAGS_EXTRA) + +LIBS = @LIBS@ +LDFLAGS = @LDFLAGS@ +linkflags = $(strip $(LDFLAGS) $(LIBS)) +ifneq ($(linkflags),) +PLINKFLAGS = -k"$(linkflags)" +endif + +# dpr project file used as input +USDX_SRC = UltraStar.dpr +# name of executable +USDX_BIN_NAME = $(USDX_PREFIX)$(EXE_SUFFIX) +USDX_BIN = $(usdxrootdir)/$(USDX_BIN_NAME) + +# name of the modification timestamp filename +modfile = lastmod + +# 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 + +################################################# +# general targets +################################################# + +.PHONY: debug release recursive all recursive-all dependencies install install-local install-global install-data install-data-recursive install-exec uninstall uninstall-local uninstall-global uninstall-data uninstall-exec clean recursive-clean distclean recursive-distclean clean_obj clean_res dist debian-package update-modfile $(EXTRA_SRCDIRS) + +debug: PFLAGS = $(PFLAGS_BASE) $(PFLAGS_DEBUG) $(PFLAGS_EXTRA) +debug: all + +release: PFLAGS = $(PFLAGS_BASE) $(PFLAGS_RELEASE) $(PFLAGS_EXTRA) +release: all + +all: recursive-all update-modfile dependencies $(USDX_BIN) + +recursive-all: recursive-target = all +recursive-all: recursive + +dependencies: $(RESOURCE_FILE) + +# call Makefiles in other source-dirs +recursive: $(EXTRA_SRCDIRS) +$(EXTRA_SRCDIRS): + $(MAKE) -C $@ $(recursive-target) + +################################################# +# build +################################################# + +# clean old data before compiling, otherwise FPC might miss some changes. +$(USDX_BIN): lastmod + $(MAKE) clean_obj + mkdir -p "$(PCUNIT_DIR)" + $(PPC) $(strip $(PFLAGS) $(PDEFINES) $(PLINKFLAGS) $(PINC_FLAGS) $(PUNIT_FLAGS) $(PCUNIT_FLAGS)) -o$@ $(USDX_SRC) + +################################################# +# install/uninstall +################################################# + +install: all install-@install_type@ + +uninstall: uninstall-@install_type@ + + +# local build + +install-local: + +uninstall-local: + rm -f "$(USDX_BIN)" + + +# global build + +install-global: install-data install-exec + +install-data: + $(MAKE) RECURSIVE_SRC_DIR="$(usdxrootdir)/Artwork" RECURSIVE_DST_DIR="$(INSTALL_datadir)/Artwork" install-data-recursive + $(MAKE) RECURSIVE_SRC_DIR="$(usdxrootdir)/Languages" RECURSIVE_DST_DIR="$(INSTALL_datadir)/Languages" install-data-recursive + $(MAKE) RECURSIVE_SRC_DIR="$(usdxrootdir)/Sounds" RECURSIVE_DST_DIR="$(INSTALL_datadir)/Sounds" install-data-recursive + $(MAKE) RECURSIVE_SRC_DIR="$(usdxrootdir)/Themes" RECURSIVE_DST_DIR="$(INSTALL_datadir)/Themes" install-data-recursive + $(MAKE) RECURSIVE_SRC_DIR="$(usdxrootdir)/Resources" RECURSIVE_DST_DIR="$(INSTALL_datadir)/Resources" install-data-recursive + $(INSTALL_DATA) "$(usdxrootdir)/License.txt" "$(INSTALL_datadir)" + +install-data-recursive: + $(MKDIR_P) "$(RECURSIVE_DST_DIR)" + @for file in "$(RECURSIVE_SRC_DIR)"/*; do \ + if test -f "$$file"; then \ + echo $(INSTALL_DATA) "$$file" "$(RECURSIVE_DST_DIR)"; \ + $(INSTALL_DATA) "$$file" "$(RECURSIVE_DST_DIR)"; \ + 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; \ + fi; \ + done + +install-exec: + $(MKDIR_P) "$(bindir)" + $(INSTALL) "$(USDX_BIN)" "$(bindir)" + +uninstall-global: uninstall-data uninstall-exec + +uninstall-data: + rm -rf "$(INSTALL_datadir)/Artwork" + rm -rf "$(INSTALL_datadir)/Languages" + rm -rf "$(INSTALL_datadir)/Sounds" + rm -rf "$(INSTALL_datadir)/Themes" + rm -rf "$(INSTALL_datadir)/Resources" + rm -f "$(INSTALL_datadir)/License.txt" + -rmdir "$(INSTALL_datadir)" + +uninstall-exec: + rm -f "$(bindir)/$(USDX_BIN_NAME)" + +################################################# +# Distributable source-package (TODO) +################################################# + +disttmpdir = ./distdir + +dist: +# $(MKDIR_P) $(disttmpdir) +# acm $(usdxrootdir) $(disttmpdir) +# $(MAKE) -C $(disttmpdir)/Game/Code distclean +# tar cvzf $(USDX_TARNAME)-$(USDX_VERSION).tar.gz $(usdxrootdir) + @echo "Comming soon" + +################################################# +# Debian package +################################################# + +debpkgoutdir = $(usdxrootdir)/packages +debpkgtmpdir = $(debpkgoutdir)/deb-package +# should be $(USDX_PACKAGE_NAME) instead +debpkgprefix = ultrastardx +debpkgname = $(debpkgprefix)_$(USDX_VERSION)_$(PPROCESSOR).deb + +debian-pkg: all + rm -rf $(debpkgtmpdir) + rm -rf $(debpkgoutdir) + + $(MKDIR_P) $(debpkgoutdir) + $(MKDIR_P) $(debpkgtmpdir)/DEBIAN + + $(MAKE) prefix=$(debpkgtmpdir)/$(prefix) install + + $(INSTALL_DATA) $(debpkgprefix).control $(debpkgtmpdir)/DEBIAN/control + + dpkg-deb --build $(debpkgtmpdir) + mv $(debpkgtmpdir)/../deb-package.deb $(debpkgoutdir)/$(debpkgname) + + rm -rf $(debpkgtmpdir) + +################################################# +# RPM (TODO) +################################################# + +rpm: all + @echo "Coming soon" + +################################################# +# Mac OS X app-bundle +################################################# + +macosx_bundle_path = $(usdxrootdir)/UltraStarDeluxe.app/Contents +macosx-app: all +# Create double clickable Mac OS X application. + + @echo "" + @echo "Creating the Mac OS X application" + @echo "" + + $(MKDIR_P) $(macosx_bundle_path)/Resources + +# Put the icon file into its particular place. +# Must be done BEFORE info.plist is created. + $(INSTALL_DATA) $(usdxrootdir)/Resources/Graphics/ustar-icon_v01.icns $(macosx_bundle_path)/Resources/ + +# the info.plist file + $(INSTALL_DATA) MacOSX/Info.plist $(macosx_bundle_path)/ + +# Copy the resources. + $(MAKE) install-global INSTALL_datadir=$(macosx_bundle_path)/Resources bindir=$(macosx_bundle_path)/MacOS + +# final messages + @echo "" + @echo "Mac OS X application created." + @echo "Please report issues to the developer team, preferably mischi." + @echo "Have fun." + @echo "" + +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 /sw/lib/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 /sw/lib/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 /sw/lib/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)) + +# final messages + @echo "Standalone Mac OS X application created." + @echo "" + +macosx-disk-image: macosx-standalone-app + /bin/rm -f ultrastardx.dmg + $(HDIUTIL) create -type SPARSE -size 30m -fs HFS+ -volname UltraStarDeluxe -ov -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 ultrastardx.dmg + /bin/rm -f UltraStarDeluxe.sparseimage +################################################# +# clean-up +################################################# + +clean: recursive-clean clean_obj + +recursive-clean: recursive-target = clean +recursive-clean: recursive + +distclean: recursive-distclean clean clean_res + find . -name "*.o" -o -name "*.ppu" -o -name "*.rst" -o -name "*.compiled" | xargs rm -f + find . -name "*~" -name "*.bak" -o -name "*.orig" -o -name "*.dcu" | xargs rm -f + find . -name "__history" | xargs rm -r -f + rm -f "$(USDX_PREFIX).res" "$(USDX_PREFIX).identcache" + rm -f config.inc Makefile config.log config.status configure aclocal.m4 + rm -rf autom4te.cache + +recursive-distclean: recursive-target = distclean +recursive-distclean: recursive + +clean_obj: + find "$(PCUNIT_DIR)" -name "*.o" -o -name "*.ppu" -o -name "*.rst" -o -name "*.compiled" | xargs rm -f + rm -f "$(USDX_BIN)" + +################################################# +# Resource-file +################################################# + +$(RESOURCE_FILE): $(RC_FILE) + $(RESEXTRACTOR_BIN) $(RC_FILE) $(RESOURCE_DIR) $(RESOURCE_FILE) + +clean_res: + rm -f "$(RESOURCE_FILE)" + +################################################# +# auto-update +################################################# + +# FPC does not recognize changes correctly. E.g. sometimes changes in .inc-files or +# conditional .pas dependencies are ignored which results in corrupted builds. +# So check for changes with a modification timestamp. +update-modfile: + test -e $(modfile) || touch $(modfile) + find . \( -name "*.pas" -o -name "*.pp" -o -name "*.inc" -o -name "*.dpr" \) -newer $(modfile) -exec touch $(modfile) \; + find $(USDX_LIB_DIR) -name "*.a" -newer $(modfile) -exec touch $(modfile) \; + +Makefile: Makefile.in config.status + ./config.status + +config.status: configure + ./config.status --recheck + +configure: configure.ac config.inc.in aclocal.m4 + autoconf + +aclocal.m4: m4/* + aclocal -I m4 |