CC = gcc
include ../../../config

architecture ?= i386

# make parameters...
ifeq ($(USE_LANGUAGE_CHOOSER),true)
HAVE_UTF_CONSOLE=true
else
HAVE_UTF_CONSOLE=false
endif

CFLAGS=-Wall -g
LDFLAGS=-g #-ldmalloc -pg

PYTHON_VERSION=1.5
PYTHON_INCLUDE=/usr/include/python$(PYTHON_VERSION)
PYTHON_LIB=/usr/lib/python$(PYTHON_VERSION)/config
PYTHON_LIBS=-lpython$(PYTHON_VERSION)

UTF_BASE=../../bf-utf

ifeq ($(HAVE_UTF_CONSOLE),true)
CFLAGS          += -DHAVE_UTF_CONSOLE -I../../bf-utf
LANG_GEN_FLAG   = 1
LIBS            = $(UTF_BASE)/newt-utf/libnewt.a $(UTF_BASE)/slang14/src/objs/libslang.a
else
LANG_GEN_FLAG   = 0
LIBS            = -lnewt -lslang
endif

generated_languages=english.xml russian.xml polish.xml portuguese.xml french.xml czech.xml german.xml hungarian.xml turkish.xml japanese.xml swedish.xml chinese_t.xml chinese_s.xml

programs=lc list bf-info

all: $(programs) # docs

lc: langs.o lc.o
	$(CC) -o $@ langs.o lc.o $(LDFLAGS) $(LIBS)

lc.o: lc.c langs.h

langs.o: langs.c langs.h

#langs.c: langs.xml english.xml $(generated_languages) pl.py iconv.so
langs.c: langs.xml $(generated_languages) ver2.py iconv.so
	./ver2.py $(LANG_GEN_FLAG) $(architecture) langs.xml
#	./pl.py i386 $<

list: list.o langs.o

bf-info: bf-info.o langs.o

ll.o: ll.c ll.h

ll.c: pp.xml pl2.py
	./pl2.py $< > $@

iconv.so: iconv.o
	$(CC) -shared -o $@ iconv.o $(PYTHON_LIBS)

iconv.o: iconv.c
	$(CC) -c $(CFLAGS) -I$(PYTHON_INCLUDE) iconv.c

docs: bf-localization.txt

bf-localization.txt: bf-localization.sgml
	debiandoc2text -l en bf-localization.sgml

html:
	debiandoc2html -b doc -l en bf-localization.sgml

generated_languages: $(generated_languages)

# A stub that makes the generation stage uniform for ALL languages
%.xml: %.src
	iconv -f `head -1 $< | sed -e 's/^.*charset="\([^"]*\)".*/\1/'` -t utf-8 < $< > $@

clean:
	rm -f $(generated_languages) *.o $(programs) langs.c langs.asm list iconv.so *.pyc 
	rm -rf doc.html bf-localization.txt

distclean: clean
