GHC=@GHC@ NHC98=@NHC98@ HMAKE=@HMAKE@ HAPPY=@HAPPY@ ALEX=@ALEX@ INSTALL=@INSTALL@ STRIP=@STRIP@ FALSE=@FALSE@ LN=@LN@ SH=@SH@ RM=@RM@ RMF=$(RM) -f prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ GHC_OPTS = @GHC_FLAGS@ -ialex -ihsparser -ihtmllibs @GHC_FLAGS_USER@ NHC98_OPTS = @NHC98_RTS_FLAGS@ +CTS @NHC98_CTS_FLAGS@ -CTS \ -Ialex -Ihsparser -Ihtmllibs @NHC98_FLAGS_USER@ HDOC=hdoc@EXE@ VERSION = 0.8.3 ALLHS = $(wildcard *.hs) $(wildcard hsparser/*.lhs) \ $(wildcard htmllibs/*.lhs) alex/Alex.hs # make sure that the generated files only appear once in SRCS GEN_INPUT = Scanner.x Parser.y hsparser/HsParser.ly $(wildcard stdlibs/*.in) GEN_FILES = $(filter-out $(GEN_INPUT), \ $(patsubst %.ly,%.hs,$(patsubst %.y,%.hs, \ $(patsubst %.x,%.hs,$(GEN_INPUT))))) \ ThePrelude.hs Version.hs NON_GEN = $(filter-out $(GEN_FILES), $(ALLHS)) SRCS = $(NON_GEN) $(GEN_FILES) hdoc: @BUILD@ .PHONY: ghc5 ghc5: gen $(GHC) -o $(HDOC) $(GHC_OPTS) --make Main $(STRIP) $(HDOC) .PHONY: hmake-ghc hmake-ghc: gen $(HMAKE) -HC=$(GHC) $(GHC_OPTS) Main mv Main $(HDOC) $(STRIP) $(HDOC) # NHC98 can now compile HDoc just fine :-) .PHONY: hmake-nhc98 hmake-nhc98: gen $(HMAKE) -HC=$(NHC98) $(NHC98_OPTS) Main mv Main $(HDOC) $(STRIP) $(HDOC) Scanner.hs: Scanner.x $(ALEX) $< $@ %.hs: %.y $(HAPPY) -i $< %.hs: %.ly $(HAPPY) $< ThePrelude.hs: $(wildcard stdlibs/*.in) $(SH) ./makePrelLibs.sh $(wildcard stdlibs/*.in) install: hdoc $(INSTALL) -d $(bindir) $(INSTALL) $(HDOC) $(bindir) uninstall: $(RMF) $(bindir)/$(HDOC) Version.hs: Makefile echo >Version.hs "module Version(version) where" echo >>Version.hs "version = \"HDoc version $(VERSION)\"" .PHONY: clean clean: $(RMF) $(HDOC) *.o *.hi examples/*/*.html examples/*/*.css \ hdoc-*.tar* *.bak \ *~ */*~ examples/*/*~ htmllibs/*.o htmllibs/*.hi \ alex/*.o alex/*.hi hsparser/*.o hsparser/*.hi .PHONY: distclean distclean: clean $(RMF) config.* makePrelLibs.sh Makefile .PHONY: realclean realclean: distclean $(RMF) $(GEN_FILES) Parser.info configure .PHONY: gen gen: $(GEN_FILES) ######### DISTFILES = $(SRCS) $(GEN_INPUT) Makefile.in hdoc-hugs.sh makePrelLibs.sh.in \ configure.in configure install-sh \ htmllibs/License COPYING INSTALL README ChangeLog \ RELEASE KNOWN_PROBLEMS patches/*.diff \ docs/hdoc.pdf examples/*/*.hs # cp below must be GNU cp ! .PHONY: dist dist: gen rm -rf hdoc-$(VERSION) mkdir hdoc-$(VERSION) cp -Rp --parents $(DISTFILES) hdoc-$(VERSION) tar -cf hdoc-$(VERSION).tar hdoc-$(VERSION) rm -rf hdoc-$(VERSION)