Makefile.lang.in
branchcustombridgeheads
changeset 5643 3778051e8095
child 5645 72ebd9e4cd64
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.lang.in	Wed Jan 03 08:49:36 2007 +0000
@@ -0,0 +1,85 @@
+# 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)
+CC_BUILD     = !!CC_BUILD!!
+CFLAGS_BUILD = !!CFLAGS_BUILD!!
+STRGEN_FLAGS = !!STRGEN_FLAGS!!
+STAGE        = !!STAGE!!
+LANG_SUPPRESS= !!LANG_SUPPRESS!!
+LANG_OBJS_DIR= !!LANG_OBJS_DIR!!
+
+ifeq ($(LANG_SUPPRESS), yes)
+LANG_ERRORS = >/dev/null 2>&1
+endif
+
+# 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
+ifdef VERBOSE
+	Q =
+	E = @true
+else
+	Q = @
+	E = @echo
+endif
+
+RES := $(shell mkdir -p $(BIN_DIR)/lang )
+
+all: table/strings.h $(LANGS)
+
+strgen.o: $(SRC_DIR)/strgen/strgen.c endian_host.h
+	$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.c=%.c)'
+	$(Q)$(CC_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $<
+
+string.o: $(SRC_DIR)/string.c endian_host.h
+	$(E) '$(STAGE) Compiling $(<:$(SRC_DIR)/%.c=%.c)'
+	$(Q)$(CC_BUILD) $(CFLAGS_BUILD) -DSTRGEN -c -o $@ $<
+
+lang/english.txt: $(LANG_DIR)/english.txt
+	$(Q)mkdir -p lang
+	$(Q)cp $(LANG_DIR)/english.txt lang/english.txt
+
+$(STRGEN): string.o strgen.o
+	$(E) '$(STAGE) Compiling and Linking $@'
+	$(Q)$(CC_BUILD) string.o strgen.o -o $@
+
+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)'
+	$(Q)./$(STRGEN) $(STRGEN_FLAGS) -s $(LANG_DIR) -d $(LANG_OBJS_DIR) $< $(LANG_ERRORS) && cp $@ $(BIN_DIR)/lang
+
+# The targets to compile the endian-code
+
+endian_host.h: $(ENDIAN_CHECK)
+	$(E) '$(STAGE) Testing endianness for host'
+	$(Q)./$(ENDIAN_CHECK) > $@
+
+$(ENDIAN_CHECK): $(SRC_DIR)/endian_check.c
+	$(E) '$(STAGE) Compiling and Linking $@'
+	$(Q)$(CC_BUILD) $(CFLAGS_BUILD) $< -o $@
+
+depend:
+
+clean:
+	$(E) '$(STAGE) Cleaning up language files'
+	$(Q)rm -f strgen.o table/strings.h $(STRGEN) $(LANGS) $(LANGS:%=$(BIN_DIR)/lang/%) lang/english.* $(ENDIAN_TARGETS)
+
+mrproper: clean
+
+%.lng:
+	@echo '$(STAGE) No such language: $(@:%.lng=%)'
+
+.PHONY: all mrproper depend clean