
# Makefile for word2x
# This makefile is for OS/2 and emx
# joerg@gmx.de

CPPFLAGS=-Wall
LD=ld

CCFLAGS=-O3
CFLAGS=-O3
LIBOBJS=wordwrap.o nullproc.o tblock.o scan_num.o map_chars.o col-align.o \
	ukdate.o usdate.o
AR=ar
RANLIB=ranlib
MYLIBS=liboutfmt.a
READER=reader.o
FMTS=fmt-text.o fmt-latex.o fmt-html.o
CPP=gcc
CC=gcc
#Set to gopt.o if you lack getopt_long
GETOPT=gopt.o strcase-os2.o num_unit_probe.o
PROGOBJS=$(READER) word2x.o $(FMTS) $(GETOPT) $(MYLIBS) 
TARGETS=word2x.exe rtest2.exe

all:	$(TARGETS)

clean:
	rm -f *.o
	rm -f $(MYLIBS)

clobber: clean
	rm -f $(TARGETS)

word2x.o: word2x.cc
	$(CPP) $(CPPFLAGS) -c -o $@ word2x.cc

text-fmt.o: text-fmt.cc
	$(CPP) $(CPPFLAGS) -DOUTPUT_CHARSET_IBM850 -c -o $@ text-fmt.cc

text-table.o: text-table.cc
	$(CPP) $(CPPFLAGS) -c -o $@ text-table.cc

latex-fmt.o: latex-fmt.cc
	$(CPP) $(CPPFLAGS) -c -o $@ latex-fmt.cc

latex-table.o: latex-table.cc
	$(CPP) $(CPPFLAGS) -c -o $@ latex-table.cc

latex-embed.o: latex-embed.cc
	$(CPP) $(CPPFLAGS) -c -o $@ latex-embed.cc

html-fmt.o: html-fmt.cc
	$(CPP) $(CPPFLAGS) -c -o $@ html-fmt.cc

html-table.o: html-table.cc
	$(CPP) $(CPPFLAGS) -c -o $@ html-table.cc

html-embed.o: html-embed.cc
	$(CPP) $(CPPFLAGS) -c -o $@ html-embed.cc

wordwrap.o: wordwrap.cc
	$(CPP) $(CPPFLAGS) -c -o $@ wordwrap.cc

nullproc.o: nullproc.cc
	$(CPP) $(CPPFLAGS) -c -o $@ nullproc.cc

tblock.o: tblock.cc
	$(CPP) $(CPPFLAGS) -c -o $@ tblock.cc

scan_num.o: scan_num.cc
	$(CPP) $(CPPFLAGS) -c -o $@ scan_num.cc

map_chars.o: map_chars.cc
	$(CPP) $(CPPFLAGS) -c -o $@ map_chars.cc

col-align.o: col-align.cc
	$(CPP) $(CPPFLAGS) -c -o $@ col-align.cc

ukdate.o: ukdate.cc
	$(CPP) $(CPPFLAGS) -c -o $@ ukdate.cc

usdate.o: usdate.cc
	$(CPP) $(CPPFLAGS) -c -o $@ usdate.cc


liboutfmt.a: $(LIBOBJS)
	$(AR) rc $@ $(LIBOBJS)
	$(AR) s $@

rtest2.exe:	rtest2.o reader.o tblock.o
	gcc -o rtest2.exe rtest2.o reader.o tblock.o -lstdcpp

fmt-text.o: text-fmt.o text-table.o
	$(LD) -r -o $@ text-fmt.o text-table.o

fmt-latex.o: latex-fmt.o latex-table.o latex-embed.o
	$(LD) -r -o $@ latex-fmt.o latex-table.o latex-embed.o

fmt-html.o: html-fmt.o html-table.o html-embed.o
	$(LD) -r -o $@ html-fmt.o html-table.o html-embed.o

getopt.o: getopt.c
	$(CC) $(CFLAGS) -D_LIBC=1 -DHAVE_CONFIG_H -c -o $@ getopt.c

getopt1.o: getopt1.c
	$(CC) $(CFLAGS) -D_LIBC=1 -DHAVE_CONFIG_H -c -o $@ getopt1.c

strcase-os2.o: strcase-os2.c
	$(CC) $(CFLAGS) -D_LIBC=1 -c -o $@ strcase-os2.c

num_unit_probe.o: num_unit_probe.c
	$(CC) $(CFLAGS) -D_LIBC=1 -c -o $@ num_unit_probe.c

part_num_probe.o: part_num_probe.c
	$(CC) $(CFLAGS) -D_LIBC=1 -c -o $@ part_num_probe.c

gopt.o: getopt.o getopt1.o
	$(LD) -r -o gopt.o getopt.o getopt1.o


word2x.exe: $(PROGOBJS)
	$(CPP) -o $@ $(PROGOBJS) -lstdcpp

rtest2.o: rtest2.cc
	$(CPP) $(CPPFLAGS) -c -o $@ rtest2.cc

reader.o: reader.cc
	$(CPP) $(CPPFLAGS) -c -o $@ reader.cc


md5:
	rm -f checksums.*
	md5sum -b * >checksums.tmp
	grep -v checksums.tmp checksums.tmp > checksums.md5
	rm -f checksums.tmp
	pgp -sab checksums.md5

checkmd5:
	md5sum -b --check checksums.md5
