Makefile.in
author rubidium
Thu, 18 Dec 2008 12:23:08 +0000
changeset 10436 8d3a9fbe8f19
parent 10385 4f9838649c7f
permissions -rw-r--r--
(svn r14689) -Change: make configure die on commonly made user mistakes, like not having SDL development files or zlib headers installed; you can still compile a dedicated server or a binary without zlib, but you have to explicitly force it.
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     1
# Check if we want to show what we are doing
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     2
ifdef VERBOSE
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     3
	Q =
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     4
else
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     5
	Q = @
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     6
endif
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     7
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     8
include Makefile.am
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
     9
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    10
SOURCE_LIST = !!SOURCE_LIST!!
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    11
CONFIG_CACHE_SOURCE_LIST = !!CONFIG_CACHE_SOURCE_LIST!!
10060
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    12
CONFIG_CACHE_PWD = !!CONFIG_CACHE_PWD!!
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    13
CONFIGURE_FILES = !!CONFIGURE_FILES!!
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    14
LIPO = !!LIPO!!
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    15
BIN_DIR = !!BIN_DIR!!
9694
dd079aa41896 (svn r13801) -Add: further configuration options to make packaging more union
skidd13
parents: 9680
diff changeset
    16
ICON_THEME_DIR = !!ICON_THEME_DIR!!
dd079aa41896 (svn r13801) -Add: further configuration options to make packaging more union
skidd13
parents: 9680
diff changeset
    17
MAN_DIR = !!MAN_DIR!!
9680
91e74d1291fd (svn r13785) -Add: support for freedesktop.org desktop entry files
skidd13
parents: 8802
diff changeset
    18
MENU_DIR = !!MENU_DIR!!
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    19
SRC_DIR = !!SRC_DIR!!
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    20
ROOT_DIR = !!ROOT_DIR!!
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    21
BUNDLE_DIR = "$(ROOT_DIR)/bundle"
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    22
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    23
INSTALL_DIR = !!INSTALL_DIR!!
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    24
INSTALL_BINARY_DIR = "$(INSTALL_DIR)/"!!BINARY_DIR!!
9694
dd079aa41896 (svn r13801) -Add: further configuration options to make packaging more union
skidd13
parents: 9680
diff changeset
    25
INSTALL_MAN_DIR = "$(INSTALL_DIR)/$(MAN_DIR)"
9680
91e74d1291fd (svn r13785) -Add: support for freedesktop.org desktop entry files
skidd13
parents: 8802
diff changeset
    26
INSTALL_MENU_DIR = "$(INSTALL_DIR)/$(MENU_DIR)"
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    27
INSTALL_ICON_DIR = "$(INSTALL_DIR)/"!!ICON_DIR!!
9694
dd079aa41896 (svn r13801) -Add: further configuration options to make packaging more union
skidd13
parents: 9680
diff changeset
    28
INSTALL_ICON_THEME_DIR = "$(INSTALL_DIR)/$(ICON_THEME_DIR)"
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    29
INSTALL_DATA_DIR = "$(INSTALL_DIR)/"!!DATA_DIR!!
9696
6c2a8e420ec8 (svn r13803) -Fix(r13801): Copy & paste mistakes
skidd13
parents: 9694
diff changeset
    30
INSTALL_DOC_DIR = "$(INSTALL_DIR)/"!!DOC_DIR!!
10244
b0fd746c5532 (svn r14474) -Add: allow --binary-name to set the name of the binary, icon, desktop file, etc. when installing. Useful to get a stable next to a trunk-nightly
truebrain
parents: 10239
diff changeset
    31
BINARY_NAME = !!BINARY_NAME!!
10385
4f9838649c7f (svn r14636) -Add: DOS port of OpenTTD, without network support though.
rubidium
parents: 10244
diff changeset
    32
STRIP = !!STRIP!!
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    33
TTD = !!TTD!!
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    34
TTDS = $(SRC_DIRS:%=%/$(TTD))
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    35
OS = !!OS!!
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    36
OSXAPP = !!OSXAPP!!
5535
67ca9df7b081 (svn r7866) -Fix (r7759): ./configure --revision=[revision] did not work as intended.
rubidium
parents: 5497
diff changeset
    37
REVISION = !!REVISION!!
6081
57d2fa5e3073 (svn r8814) [Config] -Add: added --awk and detect_awk. We now try to find an awk on the user system which allows gsub(). If not found, you can define one yourself, or it tells you versions you might want to install
truelight
parents: 5551
diff changeset
    38
AWK = !!AWK!!
6851
0a0a094fb9f1 (svn r10091) -Add: make time detection whether you are using -jN when having distcc enabled.
rubidium
parents: 6828
diff changeset
    39
DISTCC = !!DISTCC!!
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    40
10060
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    41
RES := $(shell if [ ! -f $(CONFIG_CACHE_PWD) ] || [ "`pwd`" != "`cat $(CONFIG_CACHE_PWD)`" ]; then echo "`pwd`" > $(CONFIG_CACHE_PWD); fi )
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    42
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 )
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    43
10060
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    44
all: config.pwd config.cache
7093
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    45
ifdef DISTCC
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    46
	@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
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    47
endif
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    48
	@for dir in $(DIRS); do \
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    49
		$(MAKE) -C $$dir all; \
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    50
	done
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    51
ifdef LIPO
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    52
# Lipo is an OSX thing. If it is defined, it means we are building for universal,
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    53
# and so we have have to combine the binaries into one big binary
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    54
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    55
# Remove the last binary made by the last compiled target
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    56
	$(Q)rm -f $(BIN_DIR)/$(TTD)
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    57
# Make all the binaries into one
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    58
	$(Q)$(LIPO) -create -output $(BIN_DIR)/$(TTD) $(TTDS)
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    59
endif
1b0c064a4292 (svn r10360) -Fix (r10359): make should always do "make all" by default
rubidium
parents: 7092
diff changeset
    60
7092
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    61
help:
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    62
	@echo "Available make commands:"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    63
	@echo ""
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    64
	@echo "Compilation:"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    65
	@echo "  all           compile the executable and the lang files"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    66
	@echo "  lang          compile the lang files only"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    67
	@echo "Clean up:"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    68
	@echo "  clean         remove the files generated during compilation"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    69
	@echo "  mrproper      remove the files generated during configuration and compilation"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    70
	@echo "Run after compilation:"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    71
	@echo "  run           execute openttd after the compilation"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    72
	@echo "  run-gdb       execute openttd in debug mode after the compilation"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    73
	@echo "  run-prof      execute openttd in profiling mode after the compilation"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    74
	@echo "Installation:"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    75
	@echo "  install       install the compiled files and the data-files after the compilation"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    76
	@echo "  bundle        create the base for an installation bundle"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    77
	@echo "  bundle_zip    create the zip installation bundle"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    78
	@echo "  bundle_gzip   create the gzip installation bundle"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    79
	@echo "  bundle_bzip2  create the bzip2 installation bundle"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    80
	@echo "  bundle_lha    create the lha installation bundle"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    81
	@echo "  bundle_dmg    create the dmg installation bundle"
bde4de9e3364 (svn r10359) -Codechange [FS#935]: add some explanations what the different make "commands" do.
rubidium
parents: 6949
diff changeset
    82
10060
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    83
config.pwd: $(CONFIG_CACHE_PWD)
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    84
	$(MAKE) reconfigure
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    85
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    86
config.cache: $(CONFIG_CACHE_SOURCE_LIST) $(CONFIGURE_FILES)
10060
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    87
	$(MAKE) reconfigure
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    88
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    89
reconfigure:
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    90
ifeq ($(shell if test -f config.cache; then echo 1; fi), 1)
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    91
	@echo "----------------"
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    92
	@echo "The system detected that source.list or any configure file is altered."
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    93
	@echo " Going to reconfigure with last known settings..."
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    94
	@echo "----------------"
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    95
# Make sure we don't lock config.cache
10239
cf55a4c21e7f (svn r14467) -Fix [FS#2350](r14443): use '~' instead of '#' as sed separator, it could be understood in a wrong way by shell
smatz
parents: 10220
diff changeset
    96
	@$(shell cat config.cache | sed 's~\\ ~\\\\ ~g') || exit 1
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    97
	@echo "----------------"
10060
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
    98
	@echo "Reconfig done. Please re-execute make."
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
    99
	@echo "----------------"
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   100
else
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   101
	@echo "----------------"
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   102
	@echo "Have not found a configuration, please run configure first."
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   103
	@echo "----------------"
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   104
	@exit 1
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   105
endif
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   106
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   107
clean:
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   108
	@for dir in $(DIRS); do \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   109
		$(MAKE) -C $$dir clean; \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   110
	done
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   111
	$(Q)rm -rf $(BUNDLE_TARGET)
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   112
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   113
lang:
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   114
	@for dir in $(LANG_DIRS); do \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   115
		$(MAKE) -C $$dir all; \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   116
	done
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   117
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   118
mrproper:
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   119
	@for dir in $(DIRS); do \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   120
		$(MAKE) -C $$dir mrproper; \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   121
		rm -f $$dir/Makefile; \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   122
	done
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   123
	$(Q)rm -rf objs
10057
a6dea11e197d (svn r14224) -Fix: copy Makefile.bundle too to your working dir, so you don't need to run ./configure in the root of OpenTTD
truebrain
parents: 9919
diff changeset
   124
	$(Q)rm -f Makefile Makefile.am Makefile.bundle
9680
91e74d1291fd (svn r13785) -Add: support for freedesktop.org desktop entry files
skidd13
parents: 8802
diff changeset
   125
	$(Q)rm -f media/openttd.desktop
10060
e4d56b76c100 (svn r14227) -Fix [configure]: detect if we are in a new directory, and rerun configure in those cases. Should avoid confusion (idea by Eddi)
truebrain
parents: 10057
diff changeset
   126
	$(Q)rm -f $(CONFIG_CACHE_SOURCE_LIST) config.cache config.pwd config.log $(CONFIG_CACHE_PWD)
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   127
	$(Q)rm -rf $(BUNDLE_DIR)
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   128
	$(Q)rm -rf $(BUNDLES_DIR)
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   129
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   130
depend:
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   131
	@for dir in $(SRC_DIRS); do \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   132
		$(MAKE) -C $$dir depend; \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   133
	done
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   134
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   135
run: all
6254
94bc6c0de9fc (svn r9063) -Add: allow OPENTTD_ARGS as env-option for 'make run'. 'OPENTTD_ARGS="-snull" make run' now runs ./openttd -snull in correct dir.
truelight
parents: 6081
diff changeset
   136
	$(Q)cd !!BIN_DIR!! && ./!!TTD!! $(OPENTTD_ARGS)
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   137
6308
5f2fe5dd9ed6 (svn r9198) [Config] -Add: added 'make run-gdb' which starts gdb + OpenTTD + OPENTTD_ARGS for you
truelight
parents: 6300
diff changeset
   138
run-gdb: all
5f2fe5dd9ed6 (svn r9198) [Config] -Add: added 'make run-gdb' which starts gdb + OpenTTD + OPENTTD_ARGS for you
truelight
parents: 6300
diff changeset
   139
	$(Q)cd !!BIN_DIR!! && gdb --ex run --args ./!!TTD!! $(OPENTTD_ARGS)
5f2fe5dd9ed6 (svn r9198) [Config] -Add: added 'make run-gdb' which starts gdb + OpenTTD + OPENTTD_ARGS for you
truelight
parents: 6300
diff changeset
   140
6828
24da6fe4ae01 (svn r10067) -Add: 'make run-prof' profiles your code, simular to 'make run' and 'make run-gdb'
truelight
parents: 6308
diff changeset
   141
run-prof: all
24da6fe4ae01 (svn r10067) -Add: 'make run-prof' profiles your code, simular to 'make run' and 'make run-gdb'
truelight
parents: 6308
diff changeset
   142
	$(Q)cd !!BIN_DIR!! && ./!!TTD!! $(OPENTTD_ARGS) && gprof !!TTD!! | less
24da6fe4ae01 (svn r10067) -Add: 'make run-prof' profiles your code, simular to 'make run' and 'make run-gdb'
truelight
parents: 6308
diff changeset
   143
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   144
%.o:
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   145
	@for dir in $(SRC_DIRS); do \
5551
bfd85f0c196d (svn r7931) -Fix (r7759): multiple (different) -O flags made compilations with the wrong optimisations.
rubidium
parents: 5535
diff changeset
   146
		$(MAKE) -C $$dir $(@:src/%=%); \
5475
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   147
	done
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   148
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   149
%.lng:
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   150
	@for dir in $(LANG_DIRS); do \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   151
		$(MAKE) -C $$dir $@; \
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   152
	done
2e6990a8c7c4 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff changeset
   153
9919
5122deb390ae (svn r14074) -Codechange: split the bundle generation out of the main makefile so it can be reused for making bundles from MSVC compiles.
rubidium
parents: 9918
diff changeset
   154
include Makefile.bundle