tools: makefile updates for hledger-lib
This commit is contained in:
		
							parent
							
								
									e40a190908
								
							
						
					
					
						commit
						8b2600984c
					
				
							
								
								
									
										29
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								Makefile
									
									
									
									
									
								
							| @ -32,13 +32,13 @@ SOURCEFILES:= \ | ||||
| 	$(MAIN) \
 | ||||
| 	[A-Z]*hs \
 | ||||
| 	Commands/[A-Z]*hs \
 | ||||
| 	Ledger/[A-Z]*hs | ||||
| 	hledger-lib/Ledger/[A-Z]*hs | ||||
| DOCFILES:=README README2 MANUAL NEWS CONTRIBUTORS SCREENSHOTS | ||||
| BINARYFILENAME=`runhaskell ./hledger.hs --binary-filename` | ||||
| PATCHLEVEL:=$(shell expr `darcs changes --count --from-tag=\\\\\.` - 1) | ||||
| WARNINGS:=-W -fwarn-tabs #-fwarn-orphans -fwarn-simple-patterns -fwarn-monomorphism-restriction -fwarn-name-shadowing | ||||
| DEFINEFLAGS:=-DMAKE -DPATCHLEVEL=$(PATCHLEVEL) $(OPTFLAGS) | ||||
| BUILDFLAGS:=$(DEFINEFLAGS) $(WARNINGS) | ||||
| BUILDFLAGS:=$(DEFINEFLAGS) $(WARNINGS) -ihledger-lib | ||||
| TIME:=$(shell date +"%Y%m%d%H%M") | ||||
| 
 | ||||
| default: tag hledger | ||||
| @ -445,35 +445,38 @@ upload: hackageupload updatesite | ||||
| 
 | ||||
| releaseandupload: release upload | ||||
| 
 | ||||
| # file where the current release version is defined
 | ||||
| # file defining the current release version
 | ||||
| VERSIONFILE=VERSION | ||||
| 
 | ||||
| # two or three-part version string
 | ||||
| VERSION:=`grep -v '^--' $(VERSIONFILE)` | ||||
| 
 | ||||
| # three-part version string
 | ||||
| ifeq ($(shell ghc -e "length (filter (=='.') \"$(VERSION)\")"), 1) | ||||
| VERSION3:=$(VERSION).0 | ||||
| else | ||||
| VERSION3:=$(VERSION) | ||||
| endif | ||||
| 
 | ||||
| # other files containing the version string
 | ||||
| VERSIONFILES=hledger.cabal Version.hs | ||||
| 
 | ||||
| hledger.cabal: $(VERSIONFILE) | ||||
| 	perl -p -e "s/(^version: *) .*/\1 $(VERSION)/" -i $@ | ||||
| # files which should be updated when the version changes
 | ||||
| VERSIONSENSITIVEFILES=\
 | ||||
| 	Version.hs \
 | ||||
| 	hledger.cabal \
 | ||||
| 	hledger-lib/hledger-lib.cabal \
 | ||||
| 
 | ||||
| Version.hs: $(VERSIONFILE) | ||||
| 	perl -p -e "s/(^version *= *)\".*?\"/\1\"$(VERSION3)\"/" -i $@ | ||||
| 
 | ||||
| hledger.cabal: $(VERSIONFILE) | ||||
| 	perl -p -e "s/(^version: *) .*/\1 $(VERSION)/" -i $@ | ||||
| 
 | ||||
| hledger-lib/hledger-lib.cabal: $(VERSIONFILE) | ||||
| 	perl -p -e "s/(^version: *) .*/\1 $(VERSION)/" -i $@ | ||||
| 
 | ||||
| # update the version string in local files. Triggered by "make".
 | ||||
| setversion: $(VERSIONFILES) | ||||
| setversion: $(VERSIONSENSITIVEFILES) | ||||
| 
 | ||||
| # update the version number in local files, and prompt to record changes
 | ||||
| # in these files. Triggered by "make release".
 | ||||
| setandrecordversion: setversion | ||||
| 	darcs record -m "update version" $(VERSIONFILE) $(VERSIONFILES) | ||||
| 	darcs record -m "update version" $(VERSIONFILE) $(VERSIONSENSITIVEFILES) | ||||
| 
 | ||||
| tagrelease: | ||||
| 	darcs tag $(VERSION3) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user