2007-01-02 19:19:48 +00:00
# Auto-generated file -- DO NOT EDIT
STRGEN = !!STRGEN!!
ENDIAN_CHECK = !!ENDIAN_CHECK!!
SRC_DIR = !!SRC_DIR!!
LANG_DIR = !!LANG_DIR!!
BIN_DIR = !!BIN_DIR!!
LANGS_SRC = $( shell ls $( LANG_DIR) /*.txt)
LANGS = $( LANGS_SRC:$( LANG_DIR) /%.txt= %.lng)
2007-01-10 18:56:51 +00:00
CXX_BUILD = !!CXX_BUILD!!
2007-01-02 19:19:48 +00:00
CFLAGS_BUILD = !!CFLAGS_BUILD!!
STRGEN_FLAGS = !!STRGEN_FLAGS!!
STAGE = !!STAGE!!
LANG_SUPPRESS = !!LANG_SUPPRESS!!
LANG_OBJS_DIR = !!LANG_OBJS_DIR!!
i f e q ( $( LANG_SUPPRESS ) , y e s )
LANG_ERRORS = >/dev/null 2>& 1
e n d i f
# Make sure endian_host.h is reasable as if it was in the src/ dir
CFLAGS_BUILD += -I $( LANG_OBJS_DIR)
ENDIAN_TARGETS := endian_host.h endian_target.h $( ENDIAN_CHECK)
# Check if we want to show what we are doing
i f d e f V E R B O S E
Q =
E = @true
e l s e
Q = @
E = @echo
e n d i f
RES := $( shell mkdir -p $( BIN_DIR) /lang )
all : table /strings .h $( LANGS )
2008-01-25 21:09:12 +00:00
strgen.o : $( SRC_DIR ) /strgen /strgen .cpp endian_host .h $( SRC_DIR ) /table /control_codes .h
2007-01-10 18:56:51 +00:00
$( E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$( Q) $( CXX_BUILD) $( CFLAGS_BUILD) -DSTRGEN -c -o $@ $<
2007-01-02 19:19:48 +00:00
2007-01-10 18:56:51 +00:00
string.o : $( SRC_DIR ) /string .cpp endian_host .h
$( E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.cpp=%.cpp)'
$( Q) $( CXX_BUILD) $( CFLAGS_BUILD) -DSTRGEN -c -o $@ $<
2007-01-02 19:19:48 +00:00
lang/english.txt : $( LANG_DIR ) /english .txt
$( Q) mkdir -p lang
2007-01-10 23:58:52 +00:00
$( Q) cp $( LANG_DIR) /english.txt lang/english.txt
2007-01-02 19:19:48 +00:00
$(STRGEN) : string .o strgen .o
$( E) '$(STAGE) Compiling and Linking $@'
2007-01-10 18:56:51 +00:00
$( Q) $( CXX_BUILD) string.o strgen.o -o $@
2007-01-02 19:19:48 +00:00
table/strings.h : lang /english .txt $( STRGEN )
$( E) '$(STAGE) Generating $@'
@mkdir -p table
$( Q) ./$( STRGEN) -s $( LANG_DIR) -d table
$(LANGS) : %.lng : $( LANG_DIR ) /%.txt $( STRGEN ) lang /english .txt
$( E) '$(STAGE) Compiling language $(*F)'
2007-01-03 08:20:25 +00:00
$( Q) ./$( STRGEN) $( STRGEN_FLAGS) -s $( LANG_DIR) -d $( LANG_OBJS_DIR) $< $( LANG_ERRORS) && cp $@ $( BIN_DIR) /lang || true # Do not fail all languages when one fails
2007-01-02 19:19:48 +00:00
# The targets to compile the endian-code
endian_host.h : $( ENDIAN_CHECK )
$( E) '$(STAGE) Testing endianness for host'
$( Q) ./$( ENDIAN_CHECK) > $@
2007-01-10 18:56:51 +00:00
$(ENDIAN_CHECK) : $( SRC_DIR ) /endian_check .cpp
2007-01-02 19:19:48 +00:00
$( E) '$(STAGE) Compiling and Linking $@'
2007-01-10 18:56:51 +00:00
$( Q) $( CXX_BUILD) $( CFLAGS_BUILD) $< -o $@
2007-01-02 19:19:48 +00:00
depend :
clean :
$( E) '$(STAGE) Cleaning up language files'
2007-06-16 21:57:30 +00:00
$( Q) rm -f strgen.o string.o table/strings.h $( STRGEN) $( LANGS) $( LANGS:%= $( BIN_DIR) /lang/%) lang/english.* $( ENDIAN_TARGETS)
2007-01-02 19:19:48 +00:00
mrproper : clean
%.lng :
@echo '$(STAGE) No such language: $(@:%.lng=%)'
.PHONY : all mrproper depend clean