File diff r5474:39eb586073a0 → r5475:3f5cd13d1b63
Makefile.lang.in
Show inline comments
 
new file 100644
 
# 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