An open source simulator based on the classic game Transport Tycoon Deluxe. It attempts to mimic the original game as closely as possible while extending it with new features.
Permalink![Openttd grf downloads Openttd grf downloads](http://www.thesatya.com/ottd/201205-3th.png)
Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign up Find file Copy path
Cannot retrieve contributors at this time
# This file is part of OpenTTD. |
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. |
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. |
# |
# Building requires GRFCodec. |
# |
# Recent versions (including sources) can be found at: |
# http://www.openttd.org/download-grfcodec |
# |
# The mercurial repository can be found at: |
# http://hg.openttdcoop.org/grfcodec |
# |
ROOT_DIR = !!ROOT_DIR!! |
GRF_DIR = $(ROOT_DIR)/media/extra_grf |
BASESET_DIR = $(ROOT_DIR)/media/baseset |
LANG_DIR = $(ROOT_DIR)/src/lang |
BIN_DIR = !!BIN_DIR!!/baseset |
OBJS_DIR = !!GRF_OBJS_DIR!! |
OS = !!OS!! |
STAGE = !!STAGE!! |
# Check if we want to show what we are doing |
ifdef VERBOSE |
Q = |
E = @true |
else |
Q = @ |
E = @echo |
endif |
GRFCODEC := !!GRFCODEC!! |
NFORENUM := !!NFORENUM!! |
CC_BUILD := !!CC_BUILD!! |
MD5SUM := $(shell [ '$(OS)' = 'OSX' ] && echo 'md5 -r' || echo 'md5sum') |
# Some 'should not be changed' settings. |
NFO_FILES := $(GRF_DIR)/*.nfo $(GRF_DIR)/rivers/*.nfo |
PNG_FILES := $(GRF_DIR)/*.png $(GRF_DIR)/rivers/*.png |
# List of target files. |
OBT_FILES := $(BIN_DIR)/orig_dos.obg |
OBT_FILES += $(BIN_DIR)/orig_dos_de.obg |
OBT_FILES += $(BIN_DIR)/orig_win.obg |
OBT_FILES += $(BIN_DIR)/orig_dos.obs |
OBT_FILES += $(BIN_DIR)/orig_win.obs |
OBT_FILES += $(BIN_DIR)/no_sound.obs |
OBT_FILES += $(BIN_DIR)/orig_dos.obm |
OBT_FILES += $(BIN_DIR)/orig_win.obm |
OBT_FILES += $(BIN_DIR)/no_music.obm |
OBT_FILES += $(BIN_DIR)/orig_tto.obm |
# Build the GRF. |
all: $(OBT_FILES) |
ifdef GRFCODEC |
all: $(BIN_DIR)/openttd.grf $(BIN_DIR)/orig_extra.grf |
endif |
$(OBJS_DIR)/langfiles.tmp: $(LANG_DIR)/*.txt |
$(E) '$(STAGE) Collecting baseset translations' |
$(Q) cat $^ > $@ |
$(BIN_DIR)/%.obg: $(BASESET_DIR)/%.obg $(BIN_DIR)/orig_extra.grf $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk |
$(E) '$(STAGE) Updating $(notdir $@)' |
$(Q) sed 's/^ORIG_EXTRA.GRF = *[0-9a-f]*$$/ORIG_EXTRA.GRF = '`$(MD5SUM) $(BIN_DIR)/orig_extra.grf | sed 's@ .*@@'`'/' $< > [email protected] |
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk [email protected] >$@ |
$(Q) rm [email protected] |
$(BIN_DIR)/%.obs: $(BASESET_DIR)/%.obs $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk |
$(E) '$(STAGE) Updating $(notdir $@)' |
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@ |
$(BIN_DIR)/%.obm: $(BASESET_DIR)/%.obm $(OBJS_DIR)/langfiles.tmp $(BASESET_DIR)/translations.awk |
$(E) '$(STAGE) Updating $(notdir $@)' |
$(Q) awk -v langfiles='$(OBJS_DIR)/langfiles.tmp' -f $(BASESET_DIR)/translations.awk $< >$@ |
# Guard against trying to run GRFCODEC/NFORENUM without either being set. |
ifdef GRFCODEC |
ifdef NFORENUM |
# Compile extra grf |
$(BIN_DIR)/openttd.grf: $(PNG_FILES) $(NFO_FILES) $(GRF_DIR)/assemble_nfo.awk |
$(E) '$(STAGE) Assembling openttd.nfo' |
$(Q)-mkdir -p $(OBJS_DIR)/sprites |
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null |
$(Q) awk -f $(GRF_DIR)/assemble_nfo.awk $(GRF_DIR)/openttd.nfo > $(OBJS_DIR)/sprites/openttd.nfo |
$(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/openttd.nfo |
$(E) '$(STAGE) Compiling openttd.grf' |
$(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/openttd.grf |
$(Q)cp $(OBJS_DIR)/openttd.grf $(BIN_DIR)/openttd.grf |
# The copy operation of PNG_FILES is duplicated from the target 'openttd.grf', thus those targets may not run in parallel. |
$(BIN_DIR)/orig_extra.grf: $(PNG_FILES) $(NFO_FILES) $(GRF_DIR)/assemble_nfo.awk | $(BIN_DIR)/openttd.grf |
$(E) '$(STAGE) Assembling orig_extra.nfo' |
$(Q)-mkdir -p $(OBJS_DIR)/sprites |
$(Q)-cp $(PNG_FILES) $(OBJS_DIR)/sprites 2> /dev/null |
$(Q) awk -f $(GRF_DIR)/assemble_nfo.awk $(GRF_DIR)/orig_extra.nfo > $(OBJS_DIR)/sprites/orig_extra.nfo |
$(Q) $(NFORENUM) -s $(OBJS_DIR)/sprites/orig_extra.nfo |
$(E) '$(STAGE) Compiling orig_extra.grf' |
$(Q) $(GRFCODEC) -n -s -e -p1 $(OBJS_DIR)/orig_extra.grf |
$(Q)cp $(OBJS_DIR)/orig_extra.grf $(BIN_DIR)/orig_extra.grf |
endif |
endif |
# Clean up temporary files. |
clean: |
$(Q)rm -f *.bak *.grf $(OBT_FILES) |
# Clean up temporary files |
mrproper: clean |
$(Q)rm -fr sprites |
.PHONY: all mrproper depend clean |
Copy lines Copy permalink