tools: build haddocks by package, using cabal
This commit is contained in:
		
							parent
							
								
									9f991fa94b
								
							
						
					
					
						commit
						71beb27503
					
				
							
								
								
									
										102
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										102
									
								
								Makefile
									
									
									
									
									
								
							| @ -55,17 +55,21 @@ SOURCEFILES:= \ | |||||||
| 	hledger-web/Hledger/*.hs \
 | 	hledger-web/Hledger/*.hs \
 | ||||||
| 	hledger-web/Settings/*.hs | 	hledger-web/Settings/*.hs | ||||||
| 
 | 
 | ||||||
| # a more careful list suitable for for haddock
 | # # a more careful list suitable for for haddock-all
 | ||||||
| HADDOCKSOURCEFILES:= \
 | # HADDOCKSOURCEFILES:= \
 | ||||||
| 	hledger-lib/Hledger.hs \
 | # 	hledger-lib/Hledger.hs \
 | ||||||
| 	hledger-lib/Hledger/*hs \
 | # 	hledger-lib/Hledger/*hs \
 | ||||||
| 	hledger-lib/Hledger/*/*hs \
 | # 	hledger-lib/Hledger/*/*hs \
 | ||||||
| 	hledger/Hledger/*hs \
 | # 	hledger/Hledger/*hs \
 | ||||||
| 	hledger/Hledger/*/*hs \
 | # 	hledger/Hledger/*/*hs \
 | ||||||
|  | # 	hledger-web/Application.hs \
 | ||||||
|  | # 	hledger-web/Foundation.hs \
 | ||||||
| # 	hledger-web/Hledger/*hs \
 | # 	hledger-web/Hledger/*hs \
 | ||||||
| # 	hledger-web/Hledger/*/*hs \
 | # 	hledger-web/Hledger/*/*hs \
 | ||||||
| 	# hledger-web/app/*.hs \ | # 	hledger-web/Import.hs \
 | ||||||
| 	# hledger-web/Settings/*.hs | # 	hledger-web/Settings.hs \
 | ||||||
|  | # 	hledger-web/Settings/*hs \
 | ||||||
|  | # 	hledger-web/app/*hs \
 | ||||||
| 
 | 
 | ||||||
| CABALFILES:= \
 | CABALFILES:= \
 | ||||||
| 	hledger/hledger.cabal \
 | 	hledger/hledger.cabal \
 | ||||||
| @ -660,31 +664,63 @@ savehelp: | |||||||
| # generate api & other code docs
 | # generate api & other code docs
 | ||||||
| codedocs: haddock hscolour coverage #sourcegraph #hoogle
 | codedocs: haddock hscolour coverage #sourcegraph #hoogle
 | ||||||
| 
 | 
 | ||||||
| #http://www.haskell.org/haddock/doc/html/invoking.html
 | # cf http://www.haskell.org/haddock/doc/html/invoking.html
 | ||||||
|  | # --ghc-options=-optP-P is a workaround for http://trac.haskell.org/haddock/ticket/284
 | ||||||
|  | HADDOCKFLAGS= \
 | ||||||
|  | 	--haddock-options='--no-warnings' \
 | ||||||
|  | 	--ghc-options='-optP-P' \
 | ||||||
|  | 
 | ||||||
|  | # build per-package haddocks using cabal
 | ||||||
|  | haddock: haddock-lib haddock-cli haddock-web | ||||||
|  | 
 | ||||||
|  | haddock-lib: | ||||||
|  | 	(cd hledger-lib; cabal haddock $(HADDOCKFLAGS)) | ||||||
|  | 
 | ||||||
|  | haddock-cli: | ||||||
|  | 	(cd hledger; cabal haddock $(HADDOCKFLAGS)) | ||||||
|  | 
 | ||||||
|  | haddock-web: | ||||||
|  | 	(cd hledger-web; cabal haddock $(HADDOCKFLAGS)) | ||||||
|  | 
 | ||||||
|  | # view-haddock-cli
 | ||||||
|  | view-haddock-cli: | ||||||
|  | 	$(VIEWHTML) hledger/dist/doc/html/hledger/index.html | ||||||
|  | 
 | ||||||
|  | # view-haddock-lib, view-haddock-web
 | ||||||
|  | view-haddock-%: | ||||||
|  | 	$(VIEWHTML) hledger-$*/dist/doc/html/hledger-$*/index.html | ||||||
|  | 
 | ||||||
|  | # HADDOCKALLFLAGS= \
 | ||||||
|  | #		--no-warnings \
 | ||||||
|  | # 	--prologue .haddockallprologue \
 | ||||||
|  | # 	--optghc='-optP-include' \
 | ||||||
|  | # 	--optghc='-optPhledger/dist/build/autogen/cabal_macros.h'
 | ||||||
|  | # #	 --optghc='-XCPP'
 | ||||||
|  | # #	--optghc="$(WEBLANGEXTS)"
 | ||||||
|  | # #	--optghc='-hide-package monads-tf' 
 | ||||||
| #$(subst -D,--optghc=-D,$(DEFINEFLAGS))
 | #$(subst -D,--optghc=-D,$(DEFINEFLAGS))
 | ||||||
| HADDOCKFLAGS= --no-warnings --prologue .haddockprologue \
 | #
 | ||||||
| 	--optghc='-optP-include' --optghc='-optPhledger/dist/build/autogen/cabal_macros.h' | # # .haddockallsynopsis: hledger/hledger.cabal
 | ||||||
| 	#--optghc='-hide-package monads-tf'  | # # 	grep synopsis $< | sed -e 's/synopsis: *//' >$@
 | ||||||
| 
 | #
 | ||||||
| .haddocksynopsis: hledger/hledger.cabal | # .haddockallprologue: hledger/hledger.cabal
 | ||||||
| 	grep synopsis $< | sed -e 's/synopsis: *//' >$@ | # 	cat $< | perl -ne 'print if (/^description:/../^$$/)' | sed -e 's/^description: *//' >$@
 | ||||||
| 
 | # 	printf "\nThis haddock covers all hledger-* packages, for individual package haddocks see hackage.\n" >>$@
 | ||||||
| .haddockprologue: hledger/hledger.cabal | #
 | ||||||
| 	cat $< | perl -ne 'print if (/^description:/../^$$/)' | sed -e 's/^description: *//' >$@ | # # build haddock docs for the whole project
 | ||||||
| 	printf "\nThis haddock covers all hledger-* packages, for individual package haddocks see hackage.\n" >>$@ | # haddock-all: .haddockallprologue
 | ||||||
| 
 | # 	$(HADDOCK) \
 | ||||||
| # generate api docs for the whole project
 | # 		$(HADDOCKALLFLAGS) \
 | ||||||
| haddock: .haddockprologue | # 		--title "hledger-* API docs" \
 | ||||||
| 	$(HADDOCK) $(HADDOCKFLAGS) --title "hledger-* API docs" \
 | # 		-o site/api \
 | ||||||
| 	 -o site/api \
 | # 		--html \
 | ||||||
| 	 --html \
 | # 		--source-module=src/%{MODULE/./-}.html \
 | ||||||
| 	 --source-module=src/%{MODULE/./-}.html \
 | # 		--source-entity=src/%{MODULE/./-}.html#%N \
 | ||||||
| 	 --source-entity=src/%{MODULE/./-}.html#%N \
 | # 		$(HADDOCKSOURCEFILES)
 | ||||||
| 	 $(HADDOCKSOURCEFILES) | #
 | ||||||
| 
 | # # browse the whole-project haddock
 | ||||||
| # browse the api docs
 | # view-haddock-all:
 | ||||||
| viewhaddock: | # 	$(VIEWHTML) site/api/frames.html
 | ||||||
| 	$(VIEWHTML) site/api/frames.html |  | ||||||
| 
 | 
 | ||||||
| # http://www.cs.york.ac.uk/fp/darcs/hscolour/
 | # http://www.cs.york.ac.uk/fp/darcs/hscolour/
 | ||||||
| HSCOLOUR=HsColour -css | HSCOLOUR=HsColour -css | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user