# $Id: Makefile,v 1.5 2005/06/28 14:03:00 zlb Exp $

.SUFFIXES: .zip .dvi .txt .pdf

prefix = /usr/local
install_root = /

prefix_win32 = "C:\\CTeX"
install_root_win32 = /dosc

CC=gcc
DOS_CC=dos-gcc
W32_CC=i386-mingw32-gcc
CFLAGS = -Wall -O2 -g $(EXTRA_CFLAGS) #-Wno-pointer-sign

all: addr2tex

FILES = addr2tex.c addr2tex-README.txt addr2tex-sample.txt addr2tex.sty \
	Makefile url.c url.h addr2tex.c addr2tex-README.txt \
	addr2tex-sample.txt addr2tex.sty Makefile url.c url.h .cvsignore
addr2tex.zip: $(FILES)
	@zip -9 -u -y $@ $^
	
install: all
	mkdir -p $(install_root)$(prefix)/bin
	mkdir -p $(install_root)$(prefix)/share/texmf/tex/cct
	mkdir -p $(install_root)$(prefix)/share/doc/cct
	strip addr2tex
	/bin/cp -p addr2tex $(install_root)$(prefix)/bin
	/bin/cp -p addr2tex.sty $(install_root)$(prefix)/share/texmf/tex/cct
	/bin/cp -p addr2tex-README.txt addr2tex-sample.txt \
		$(install_root)$(prefix)/share/doc/cct

# --- change '\' to '/', strip leading 'drive:' part
prefix_win32_ = `echo $(prefix_win32) | sed -e 's/\\\\/\\//g' -e 's/^.*://g'`
w32localtexmf = $(install_root_win32)$(prefix_win32_)/localtexmf
w32texmf      = $(install_root_win32)$(prefix_win32_)/texmf
install_win32:
	@echo 1>&2 "Building WIN32 distribution ..."
	@echo 1>&2 "Compiling WIN32 binaries ..."
	@make prefix=$(prefix_win32) win32

	@echo 1>&2 "Installing in $(w32localtexmf)/cct/bin/ ..."
	@mkdir -p $(w32localtexmf)/cct/bin
	@/bin/cp -pf addr2tex.exe $(w32localtexmf)/cct/bin

	@echo 1>&2 "Installing in $(w32localtexmf)/tex/latex/cct/ ..."
	@mkdir -p $(w32localtexmf)/tex/latex/cct
	@/bin/cp -pf addr2tex.sty $(w32localtexmf)/tex/latex/cct

	@echo 1>&2 "Installing in $(w32localtexmf)/cct/doc/ ..."
	@mkdir -p $(w32localtexmf)/cct/doc
	@/bin/cp -pf addr2tex-README.txt addr2tex-sample.txt \
		$(w32localtexmf)/cct/doc

	@#echo 1>&2 "Installing in $(w32localtexmf)/cct/src/ ..."
	@#mkdir -p $(w32localtexmf)/cct/src/
	@#/bin/cp -af `pwd` $(w32localtexmf)/cct/src/.
	@#(cd $(w32localtexmf)/cct/src/$${PWD##*/}; make -s clean)

addr2tex-data.c: addr2tex.sty Makefile  ../cct/GBK-pinyin.h
	@echo "#include \"../cct/GBK-pinyin.h\""			>$@
	@echo "int NbrOfCC = sizeof(pytable)/sizeof(pytable[0]);"	>>$@
	@echo ""							>>$@
	@echo "char *head = "						>>$@
	@sed -e 's/\\/\\\\/g' addr2tex.sty | grep -v "\\\\endinput" | \
		awk '{printf "    \"  %s\\n\"\n", $$0}'			>>$@
	@echo ";"							>>$@
	@echo ""							>>$@
	@echo 1>&2 Created addr2tex-data.c

addr2tex: addr2tex.c addr2tex-data.c url.c
	$(CC) $(CFLAGS) -o $@ $^

dos: 
	@#make -s clean
	@make CC=$(DOS_CC) prefix=$(prefix) all
	@rm -f addr2tex
	@dos-strip addr2tex.exe

win32:
	@#make -s clean
	@make CC=$(W32_CC) prefix=$(prefix_win32) all
	@mv -f addr2tex addr2tex.exe
	@i386-mingw32-strip addr2tex.exe

clean:
	@/bin/rm -f *.tex *.dvi *.log *.toc *.aux addr2tex-data.c \
		addr2tex.exe addr2tex *.ps *.pdf *.out *.o ctextemp_*
