lhs2tex-1.21: Makefile
include config.mk
main := src/Main.lhs
psources := $(main) src/TeXCommands.lhs src/TeXParser.lhs \
src/Typewriter.lhs src/Math.lhs src/MathPoly.lhs \
src/MathCommon.lhs src/NewCode.lhs \
src/Directives.lhs src/HsLexer.lhs src/FileNameUtils.lhs \
src/Parser.lhs src/FiniteMap.lhs src/Auxiliaries.lhs \
src/StateT.lhs src/Document.lhs src/Verbatim.lhs src/Value.lhs \
src/License.lhs src/State.lhs
sources := $(psources) src/Version.lhs
snipssrc := sorts.snip id.snip cata.snip spec.snip
snips := sorts.tt sorts.math id.math cata.math spec.math
objects := $(sources:.lhs=.o)
sections := $(sources:.lhs=.tex)
MKINSTDIR := ./mkinstalldirs
###
### lhs dependencies (from %include lines)
###
ifdef SORT
ifdef UNIQ
MKLHSDEPEND = $(GREP) "^%include " $< \
| $(SED) -e 's,^%include ,$*.tex : ,' \
| $(SORT) | $(UNIQ) > $*.ld
MKFMTDEPEND = $(GREP) "^%include " $< \
| $(SED) -e 's,^%include ,$*.fmt : ,' \
| $(SORT) | $(UNIQ) > $*.ld
endif
endif
###
### dependency postprocessing
###
DEPPOSTPROC = $(SED) -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/'
###
### default targets
###
.PHONY : default xdvi gv print install backup clean all depend bin doc srcdist
all : default
default : bin doc
bin : lhs2TeX lhs2TeX.fmt lhs2TeX.sty
-include $(sources:%.lhs=%.d)
# I don't understand this ... (ks)
#
# %.hi : %.o
# @if [ ! -f $@ ] ; then \
# echo $(RM) $< ; \
# $(RM) $< ; \
# set +e ; \
# echo $(MAKE) $(notdir $<) ; \
# $(MAKE) $(notdir $<) ; \
# if [ $$? -ne 0 ] ; then \
# exit 1; \
# fi ; \
# fi
ifdef MKLHSDEPEND
%.ld : %.lhs
$(MKLHSDEPEND); \
$(CP) $*.ld $*.ldd; \
$(DEPPOSTPROC) < $*.ldd >> $*.ld; \
$(RM) -f $*.ldd
%.ld : %.fmt
$(MKFMTDEPEND); \
$(CP) $*.ld $*.ldd; \
$(DEPPOSTPROC) < $*.ldd >> $*.ld; \
$(RM) -f $*.ldd
-include $(sources:%.lhs=%.ld)
endif
%.tex : %.lhs lhs2TeX Lhs2TeX.fmt lhs2TeX.fmt
# lhs2TeX -verb -iLhs2TeX.fmt $< > $@
./lhs2TeX --math --align 33 -iLhs2TeX.fmt $< > $@
%.tt : %.snip lhs2TeX lhs2TeX.fmt
./lhs2TeX --tt -lmeta=True -ilhs2TeX.fmt $< > $@
%.math : %.snip lhs2TeX lhs2TeX.fmt
./lhs2TeX --math --align 33 -lmeta=True -ilhs2TeX.fmt $< > $@
%.tex : %.lit lhs2TeX
./lhs2TeX --verb -ilhs2TeX.fmt $< > $@
lhs2TeX.sty: lhs2TeX.sty.lit lhs2TeX
./lhs2TeX --code lhs2TeX.sty.lit > lhs2TeX.sty
lhs2TeX.fmt: lhs2TeX.fmt.lit lhs2TeX
./lhs2TeX --code lhs2TeX.fmt.lit > lhs2TeX.fmt
lhs2TeX : $(sources)
$(GHC) $(GHCFLAGS) -isrc --make -o lhs2TeX $(main)
doc : bin
cd doc; $(MAKE)
# cd Guide; $(MAKE) Guide.pdf
INSTALL : lhs2TeX INSTALL0 INSTALL1
cp INSTALL0 $@
./lhs2TeX --searchpath >> $@
cat INSTALL1 >> $@
depend:
$(GHC) -M -optdep-f -optdeplhs2TeX.d $(GHCFLAGS) $(sources)
$(RM) -f lhs2TeX.d.bak
lhs2TeX-includes : lhs2TeX.sty $(sections) $(snips) lhs2TeX.sty.tex lhs2TeX.fmt.tex Makefile.tex
Lhs2TeX.dvi : lhs2TeX-includes
Lhs2TeX.pdf : lhs2TeX-includes
xdvi : Lhs2TeX.dvi
$(XDVI) -s 3 Lhs2TeX.dvi &
gv : Lhs2TeX.ps
$(GV) Lhs2TeX.ps &
print : Lhs2TeX.dvi
$(DVIPS) -D600 -f Lhs2TeX.dvi | lpr -Pa -Zl
install : bin doc
$(MKINSTDIR) $(DESTDIR)$(bindir)
$(INSTALL) -m 755 lhs2TeX $(DESTDIR)$(bindir)
$(MKINSTDIR) $(DESTDIR)$(stydir)
$(INSTALL) -m 644 lhs2TeX.sty lhs2TeX.fmt $(DESTDIR)$(stydir)
$(INSTALL) -m 644 Library/*.fmt $(DESTDIR)$(stydir)
$(MKINSTDIR) $(DESTDIR)$(docdir)
$(INSTALL) -m 644 doc/Guide2.pdf $(DESTDIR)$(docdir)
$(MKINSTDIR) $(DESTDIR)$(mandir)/man1
$(INSTALL) -m 644 lhs2TeX.1 $(DESTDIR)$(mandir)/man1
ifeq ($(INSTALL_POLYTABLE),yes)
# install polytable package
$(MKINSTDIR) $(DESTDIR)$(polydir)
$(INSTALL) -m 644 polytable/*.sty $(DESTDIR)$(polydir)
endif
# $(MKINSTDIR) $(DESTDIR)$(texdir)
# $(INSTALL) -m 644 Library/*.sty $(DESTDIR)$(texdir)
ifndef DESTDIR
$(MKTEXLSR)
else
echo "Please update the TeX filename database."
endif
srcdist : INSTALL doc
if test -d $(DISTDIR); then $(RM) -rf $(DISTDIR); fi
$(MKINSTDIR) $(DISTDIR)
$(MKINSTDIR) $(DISTDIR)/src
$(MKINSTDIR) $(DISTDIR)/doc
$(MKINSTDIR) $(DISTDIR)/polytable
$(MKINSTDIR) $(DISTDIR)/Testsuite
$(MKINSTDIR) $(DISTDIR)/Examples
$(MKINSTDIR) $(DISTDIR)/Library
$(INSTALL) -m 644 $(psources) src/Version.lhs.in $(DISTDIR)/src
$(INSTALL) -m 644 $(snipssrc) $(DISTDIR)
$(INSTALL) -m 644 Setup.hs lhs2tex.cabal $(DISTDIR)
$(INSTALL) -m 644 lhs2TeX.fmt.lit lhs2TeX.sty.lit $(DISTDIR)
$(INSTALL) -m 644 Makefile common.mk config.mk.in $(DISTDIR)
$(INSTALL) -m 644 lhs2TeX.1.in $(DISTDIR)
$(INSTALL) -m 755 configure mkinstalldirs install-sh $(DISTDIR)
$(INSTALL) -m 644 TODO AUTHORS LICENSE CHANGELOG.md $(DISTDIR)
cat INSTALL | sed -e "s/@ProgramVersion@/$(PACKAGE_VERSION)/" \
> $(DISTDIR)/INSTALL
chmod 644 $(DISTDIR)/INSTALL
cd doc; $(MAKE) srcdist
$(INSTALL) -m 644 polytable/*.{sty,pdf} $(DISTDIR)/polytable
$(INSTALL) -m 644 Testsuite/*.{lhs,snip} Testsuite/Makefile $(DISTDIR)/Testsuite
$(INSTALL) -m 644 Examples/*.lhs $(DISTDIR)/Examples
$(INSTALL) -m 755 Examples/lhs2TeXpre $(DISTDIR)/Examples
$(INSTALL) -m 644 Library/*.fmt $(DISTDIR)/Library
tar --format=ustar -cvzf $(DISTDIR).tar.gz $(DISTDIR)
chmod 644 $(DISTDIR).tar.gz
ifdef DISTTYPE
bindist: lhs2TeX lhs2TeX.fmt lhs2TeX.sty doc
if test -d $(DISTDIR); then $(RM) -rf $(DISTDIR); fi
$(MKINSTDIR) $(DISTDIR)
$(MKINSTDIR) $(DISTDIR)/doc
$(MKINSTDIR) $(DISTDIR)/polytable
$(MKINSTDIR) $(DISTDIR)/Testsuite
$(MKINSTDIR) $(DISTDIR)/Examples
$(MKINSTDIR) $(DISTDIR)/Library
$(INSTALL) -m 755 lhs2TeX $(DISTDIR)
$(INSTALL) -m 644 lhs2TeX.fmt lhs2TeX.sty $(DISTDIR)
$(INSTALL) -m 644 $(psources) Version.lhs.in $(snipssrc) $(DISTDIR)
$(INSTALL) -m 644 lhs2TeX.fmt.lit lhs2TeX.sty.lit $(DISTDIR)
$(INSTALL) -m 644 Makefile common.mk config.mk.in $(DISTDIR)
$(INSTALL) -m 644 lhs2TeX.1.in $(DISTDIR)
$(INSTALL) -m 755 configure mkinstalldirs install-sh $(DISTDIR)
$(INSTALL) -m 644 TODO AUTHORS LICENSE CHANGELOG.md $(DISTDIR)
cat INSTALL | sed -e "s/@ProgramVersion@/$(PACKAGE_VERSION)/" \
> $(DISTDIR)/INSTALL
chmod 644 $(DISTDIR)/INSTALL
cd doc; $(MAKE) srcdist
$(INSTALL) -m 644 polytable/*.{sty,pdf} $(DISTDIR)/polytable
$(INSTALL) -m 644 Testsuite/*.{lhs,snip} Testsuite/Makefile $(DISTDIR)/Testsuite
$(INSTALL) -m 644 Examples/*.lhs $(DISTDIR)/Examples
$(INSTALL) -m 755 Examples/lhs2TeXpre $(DISTDIR)/Examples
$(INSTALL) -m 644 Library/*.fmt $(DISTDIR)/Library
tar cvjf $(DISTDIR)-$(DISTTYPE).tar.bz2 $(DISTDIR)
chmod 644 $(DISTDIR)-$(DISTTYPE).tar.bz2
else
bindist:
@echo "You must define DISTTYPE."
endif
backup:
cd ..; \
$(RM) -f Literate.tar Literate.tar.gz; \
tar -cf Literate.tar Literate; \
gzip Literate.tar; \
chmod a+r Literate.tar.gz
clean :
# clean
$(RM) -f lhs2TeX $(sections) $(snips) $(objects) *.hi *.dvi *.ps
-$(RM) -f *.d *.dd *.ld *.ldd
$(RM) -f lhs2TeX.sty lhs2TeX.fmt
$(RM) -f Lhs2TeX.tex lhs2TeX.sty.tex lhs2TeX.fmt.tex Makefile.tex
cd doc; $(MAKE) clean
# all:
# $(MAKE) install
# $(MAKE) Lhs2TeX.dvi
include common.mk