rubidium@5475: # Check if we want to show what we are doing rubidium@5475: ifdef VERBOSE rubidium@5475: Q = rubidium@5475: else rubidium@5475: Q = @ rubidium@5475: endif rubidium@5475: rubidium@5475: include Makefile.am rubidium@5475: rubidium@5475: SOURCE_LIST = !!SOURCE_LIST!! rubidium@5475: CONFIG_CACHE_SOURCE_LIST = !!CONFIG_CACHE_SOURCE_LIST!! truebrain@10060: CONFIG_CACHE_PWD = !!CONFIG_CACHE_PWD!! rubidium@5475: CONFIGURE_FILES = !!CONFIGURE_FILES!! rubidium@5475: LIPO = !!LIPO!! rubidium@5475: BIN_DIR = !!BIN_DIR!! skidd13@9694: ICON_THEME_DIR = !!ICON_THEME_DIR!! skidd13@9694: MAN_DIR = !!MAN_DIR!! skidd13@9680: MENU_DIR = !!MENU_DIR!! rubidium@5475: SRC_DIR = !!SRC_DIR!! rubidium@5475: ROOT_DIR = !!ROOT_DIR!! rubidium@5475: BUNDLE_DIR = "$(ROOT_DIR)/bundle" rubidium@5475: BUNDLES_DIR = "$(ROOT_DIR)/bundles" rubidium@5475: INSTALL_DIR = !!INSTALL_DIR!! rubidium@5475: INSTALL_BINARY_DIR = "$(INSTALL_DIR)/"!!BINARY_DIR!! skidd13@9694: INSTALL_MAN_DIR = "$(INSTALL_DIR)/$(MAN_DIR)" skidd13@9680: INSTALL_MENU_DIR = "$(INSTALL_DIR)/$(MENU_DIR)" rubidium@5475: INSTALL_ICON_DIR = "$(INSTALL_DIR)/"!!ICON_DIR!! skidd13@9694: INSTALL_ICON_THEME_DIR = "$(INSTALL_DIR)/$(ICON_THEME_DIR)" rubidium@5475: INSTALL_DATA_DIR = "$(INSTALL_DIR)/"!!DATA_DIR!! skidd13@9696: INSTALL_DOC_DIR = "$(INSTALL_DIR)/"!!DOC_DIR!! truebrain@10244: BINARY_NAME = !!BINARY_NAME!! rubidium@10385: STRIP = !!STRIP!! rubidium@5475: TTD = !!TTD!! rubidium@5475: TTDS = $(SRC_DIRS:%=%/$(TTD)) rubidium@5475: OS = !!OS!! rubidium@5475: OSXAPP = !!OSXAPP!! rubidium@5535: REVISION = !!REVISION!! truelight@6081: AWK = !!AWK!! rubidium@6851: DISTCC = !!DISTCC!! rubidium@5475: truebrain@10060: RES := $(shell if [ ! -f $(CONFIG_CACHE_PWD) ] || [ "`pwd`" != "`cat $(CONFIG_CACHE_PWD)`" ]; then echo "`pwd`" > $(CONFIG_CACHE_PWD); fi ) truebrain@10060: RES := $(shell if [ ! -f $(CONFIG_CACHE_SOURCE_LIST) ] || [ -n "`cmp $(CONFIG_CACHE_SOURCE_LIST) $(SOURCE_LIST) 2>/dev/null`" ]; then cp $(SOURCE_LIST) $(CONFIG_CACHE_SOURCE_LIST); fi ) rubidium@5475: truebrain@10060: all: config.pwd config.cache rubidium@7093: ifdef DISTCC rubidium@7093: @if [ -z "`echo '$(MFLAGS)' | grep '\-j'`" ]; then echo; echo "WARNING: you enabled distcc support, but you don't seem to be using the -jN paramter"; echo; fi rubidium@7093: endif rubidium@7093: @for dir in $(DIRS); do \ rubidium@7093: $(MAKE) -C $$dir all; \ rubidium@7093: done rubidium@7093: ifdef LIPO rubidium@7093: # Lipo is an OSX thing. If it is defined, it means we are building for universal, rubidium@7093: # and so we have have to combine the binaries into one big binary rubidium@7093: rubidium@7093: # Remove the last binary made by the last compiled target rubidium@7093: $(Q)rm -f $(BIN_DIR)/$(TTD) rubidium@7093: # Make all the binaries into one rubidium@7093: $(Q)$(LIPO) -create -output $(BIN_DIR)/$(TTD) $(TTDS) rubidium@7093: endif rubidium@7093: rubidium@7092: help: rubidium@7092: @echo "Available make commands:" rubidium@7092: @echo "" rubidium@7092: @echo "Compilation:" rubidium@7092: @echo " all compile the executable and the lang files" rubidium@7092: @echo " lang compile the lang files only" rubidium@7092: @echo "Clean up:" rubidium@7092: @echo " clean remove the files generated during compilation" rubidium@7092: @echo " mrproper remove the files generated during configuration and compilation" rubidium@7092: @echo "Run after compilation:" rubidium@7092: @echo " run execute openttd after the compilation" rubidium@7092: @echo " run-gdb execute openttd in debug mode after the compilation" rubidium@7092: @echo " run-prof execute openttd in profiling mode after the compilation" rubidium@7092: @echo "Installation:" rubidium@7092: @echo " install install the compiled files and the data-files after the compilation" rubidium@7092: @echo " bundle create the base for an installation bundle" rubidium@7092: @echo " bundle_zip create the zip installation bundle" rubidium@7092: @echo " bundle_gzip create the gzip installation bundle" rubidium@7092: @echo " bundle_bzip2 create the bzip2 installation bundle" rubidium@7092: @echo " bundle_lha create the lha installation bundle" rubidium@7092: @echo " bundle_dmg create the dmg installation bundle" rubidium@7092: truebrain@10060: config.pwd: $(CONFIG_CACHE_PWD) truebrain@10060: $(MAKE) reconfigure truebrain@10060: rubidium@5475: config.cache: $(CONFIG_CACHE_SOURCE_LIST) $(CONFIGURE_FILES) truebrain@10060: $(MAKE) reconfigure truebrain@10060: truebrain@10060: reconfigure: rubidium@5475: ifeq ($(shell if test -f config.cache; then echo 1; fi), 1) rubidium@5475: @echo "----------------" rubidium@5475: @echo "The system detected that source.list or any configure file is altered." rubidium@5475: @echo " Going to reconfigure with last known settings..." rubidium@5475: @echo "----------------" rubidium@5475: # Make sure we don't lock config.cache smatz@10239: @$(shell cat config.cache | sed 's~\\ ~\\\\ ~g') || exit 1 rubidium@5475: @echo "----------------" truebrain@10060: @echo "Reconfig done. Please re-execute make." rubidium@5475: @echo "----------------" rubidium@5475: else rubidium@5475: @echo "----------------" rubidium@5475: @echo "Have not found a configuration, please run configure first." rubidium@5475: @echo "----------------" rubidium@5475: @exit 1 rubidium@5475: endif rubidium@5475: rubidium@5475: clean: rubidium@5475: @for dir in $(DIRS); do \ rubidium@5475: $(MAKE) -C $$dir clean; \ rubidium@5475: done rubidium@5475: $(Q)rm -rf $(BUNDLE_TARGET) rubidium@5475: rubidium@5475: lang: rubidium@5475: @for dir in $(LANG_DIRS); do \ rubidium@5475: $(MAKE) -C $$dir all; \ rubidium@5475: done rubidium@5475: rubidium@5475: mrproper: rubidium@5475: @for dir in $(DIRS); do \ rubidium@5475: $(MAKE) -C $$dir mrproper; \ rubidium@5475: rm -f $$dir/Makefile; \ rubidium@5475: done rubidium@5475: $(Q)rm -rf objs truebrain@10057: $(Q)rm -f Makefile Makefile.am Makefile.bundle skidd13@9680: $(Q)rm -f media/openttd.desktop truebrain@10060: $(Q)rm -f $(CONFIG_CACHE_SOURCE_LIST) config.cache config.pwd config.log $(CONFIG_CACHE_PWD) rubidium@5475: $(Q)rm -rf $(BUNDLE_DIR) rubidium@5475: $(Q)rm -rf $(BUNDLES_DIR) rubidium@5475: rubidium@5475: depend: rubidium@5475: @for dir in $(SRC_DIRS); do \ rubidium@5475: $(MAKE) -C $$dir depend; \ rubidium@5475: done rubidium@5475: rubidium@5475: run: all truelight@6254: $(Q)cd !!BIN_DIR!! && ./!!TTD!! $(OPENTTD_ARGS) rubidium@5475: truelight@6308: run-gdb: all truelight@6308: $(Q)cd !!BIN_DIR!! && gdb --ex run --args ./!!TTD!! $(OPENTTD_ARGS) truelight@6308: truelight@6828: run-prof: all truelight@6828: $(Q)cd !!BIN_DIR!! && ./!!TTD!! $(OPENTTD_ARGS) && gprof !!TTD!! | less truelight@6828: rubidium@5475: %.o: rubidium@5475: @for dir in $(SRC_DIRS); do \ rubidium@5551: $(MAKE) -C $$dir $(@:src/%=%); \ rubidium@5475: done rubidium@5475: rubidium@5475: %.lng: rubidium@5475: @for dir in $(LANG_DIRS); do \ rubidium@5475: $(MAKE) -C $$dir $@; \ rubidium@5475: done rubidium@5475: rubidium@9919: include Makefile.bundle