[darcs-users] darcs annotate format obscures the code

Michael G Schwern schwern at pobox.com
Sun Mar 20 01:49:53 UTC 2005


I clean up people's crappy Perl code for a living so I do a lot of work with 
very old code bases.  Annotated source code is my friend when I want to
find out why someone's doing something crazy.

CVS, SVN and SVK all have very similar annotate formats.  Here's what SVK's
own Makefile.PL looks like when annotated with SVK:

Annotations for /local/svk/Makefile.PL (86 active revisions):
****************
     3  (   clkao 2004-07-31):          #!/usr/bin/perl
   741  (   clkao 2005-01-09):          my $required_svn = '1.0.7';
  4258  ( schwern 2005-03-19):          my $required_svm = '0.57';
    23  (   clkao 2004-07-31):          
   319  (   clkao 2004-08-14):          use strict;
   102  (   clkao 2004-07-31):          use inc::Module::Install;
   102  (   clkao 2004-07-31):          
   129  (   clkao 2004-07-31):          name            ('SVK');
   102  (   clkao 2004-07-31):          author          ('Chia-liang Kao <clkao at clkao.org>');
   102  (   clkao 2004-07-31):          abstract        ('A decentralized version control system');


Meta information for each line on the left (change number, user and date).  
The code on the right.  The code is unobscured and readable.  Something
subtle to note is the code starts at column 40.  This means when you run
it through a good pager (I've attached a copy so you can do so), such as
less, you can hit the right arrow and see the source code alone unobscured
by the meta data.  So its easy to flip back and forth between annotated and
unannotated code.  Makes studying changes very easy.  Normally I have
another window with the log file open so I can quickly figure out what
change #4258 was.

Now let's look at a file annotated with darcs (darcs-unstable/GNUmakefile).

# File GNUmakefile created by [Initial version of darcs.
# droundy at abridgegame.org**Sun Oct 20 20:01:05 EDT 2002]  as ./Makefile
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 #
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 # Build darcs
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 #
# Following line added by [If making clean, no need to include/rebuild autoconf.
mk or .depend
# Mirian Crzig Lennox <mirian at sandstorm.net>**20040305144515] 
 ifeq (,$(findstring clean,$(MAKECMDGOALS)))
# Following line added by [add --exact-version option to darcs which gives its p
recise version.
# David Roundy <droundy at abridgegame.org>**20040730104030] 
 ifneq (config,$(MAKECMDGOALS))
# Following line added by [Re-organized the depend and automake.in-related targe
ts.
# simons at cryp.to**Wed May 28 01:21:12 CEST 2003
 In the old version, it could happen that $GHCFLAGS wasn't passed to
 the dependency generation cammend, resulting in te build failing. This
 re-organization will make sure autoconf.mk is built and included
 before we re-build the dependencies.
] 
 include autoconf.mk


Yuck!  For every line of code there's many lines of annotation.  For every
annotation there's about 20 characters of repetition (the "Following line..."
bit). 

Where's the code?  Code is distinguished by a single leading space, not much
of a visual distinguisher at the best of times, but so are the (oft repeated) 
log messages embedded in the annotation making it almost impossible to tell
code from annotation without careful study.

Its nice to have the full log message along with every line of code but not
at the expense of obscuring what's being annotated.  Perhaps this could be
achieved in a more dynamic format than text, such as a web page, but in
plain text it just gets in the way.

One of my questions here is... does anyone use this and like this?  Its
possible I'm just used to the CVS/SVK format and not using the darcs
format to its fullest.

I suggest that darcs adopt a more readable default annotation format, 
perhaps just borrowing directly from SVK.  


Additionally the annotation format could be made user customizable by 
allowing one to specify a sprintf-style string to indicate how to format a 
line.  Aegis does something like this.  For example, SVK's format would be:

%6n  (%8u %10d):          %l

Darcs' would be something like:

# Following line added by %n
# %a**%d
 %c
]
 %l

This could be put into a .darcsrc file so each user can customize their own
annotation format.  However I believe custom annotation formats are probably 
YAGNI (Ya Ain't Gonna Need It).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: annotated_Makefile.PL
Type: application/x-perl
Size: 4381 bytes
Desc: SVK_annotated_Makefile.PL
Url : http://lists.osuosl.org/pipermail/darcs-users/attachments/20050319/d4904f6e/attachment.bin 
-------------- next part --------------
# File GNUmakefile created by [Initial version of darcs.
# droundy at abridgegame.org**Sun Oct 20 20:01:05 EDT 2002]  as ./Makefile
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 #
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 # Build darcs
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 #
# Following line added by [If making clean, no need to include/rebuild autoconf.mk or .depend
# Mirian Crzig Lennox <mirian at sandstorm.net>**20040305144515] 
 ifeq (,$(findstring clean,$(MAKECMDGOALS)))
# Following line added by [add --exact-version option to darcs which gives its precise version.
# David Roundy <droundy at abridgegame.org>**20040730104030] 
 ifneq (config,$(MAKECMDGOALS))
# Following line added by [Re-organized the depend and automake.in-related targets.
# simons at cryp.to**Wed May 28 01:21:12 CEST 2003
 In the old version, it could happen that $GHCFLAGS wasn't passed to
 the dependency generation cammend, resulting in te build failing. This
 re-organization will make sure autoconf.mk is built and included
 before we re-build the dependencies.
] 
 include autoconf.mk
# Following line added by [If making clean, no need to include/rebuild autoconf.mk or .depend
# Mirian Crzig Lennox <mirian at sandstorm.net>**20040305144515] 
 endif
# Following line added by [add --exact-version option to darcs which gives its precise version.
# David Roundy <droundy at abridgegame.org>**20040730104030] 
 endif
# Following line added by [Re-organized the depend and automake.in-related targets.
# simons at cryp.to**Wed May 28 01:21:12 CEST 2003
 In the old version, it could happen that $GHCFLAGS wasn't passed to
 the dependency generation cammend, resulting in te build failing. This
 re-organization will make sure autoconf.mk is built and included
 before we re-build the dependencies.
] 
 
# Following line added by [Add RTSFLAGS to GNUmakefile
# Taral <taral at taral.net>**20041004192542] 
 ifneq (,$(RTSFLAGS))
# Following line added by [Add RTSFLAGS to GNUmakefile
# Taral <taral at taral.net>**20041004192542] 
 GHCFLAGS += +RTS $(RTSFLAGS) -RTS
# Following line added by [Add RTSFLAGS to GNUmakefile
# Taral <taral at taral.net>**20041004192542] 
 endif
# Following line added by [Add RTSFLAGS to GNUmakefile
# Taral <taral at taral.net>**20041004192542] 
 
# Following line added by [Add -I. so impossible.h is found
# simons at cryp.to**20041025163332] 
 GHCFLAGS += -Wall -Werror -package util -I.
# Following line added by [Use -Wall when compiling
# igloo at earth.li**20040222181745] 
 
# Following line added by [use DarcsIO classes for apply_to_filepaths.
# David Roundy <droundy at abridgegame.org>**20050206142024] 
 COMMON_FILES := AntiMemo.lhs Autoconf.lhs \
# Following line added by [use DarcsIO classes for apply_to_filepaths.
# David Roundy <droundy at abridgegame.org>**20050206142024] 
 	CheckFileSystem.lhs ColourPrinter.lhs Curl.hs DarcsIO.lhs	\
# Following line added by [Current becomes Pristine throughout the source.
# Juliusz Chroboczek <jch at pps.jussieu.fr>**20050125145155] 
 	Pristine.lhs DarcsArguments.lhs DarcsFlags.lhs DarcsUtils.lhs	\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	DateMatcher.lhs Depends.lhs Diff.lhs Exec.lhs External.hs	\
# Following line added by [use DarcsIO classes for apply_to_filepaths.
# David Roundy <droundy at abridgegame.org>**20050206142024] 
 	FastPackedString.hs FilePathMonad.lhs	\
# Following line added by [use DarcsIO classes for apply_to_filepaths.
# David Roundy <droundy at abridgegame.org>**20050206142024] 
 	FileName.lhs IsoDate.lhs Lcs.lhs Lock.lhs	\
# Following line added by [Split Patch up more. Unfortunately needs a .hi-boot file.
# Ian Lynagh <igloo at earth.li>**20041211024030] 
 	Match.lhs Motd.lhs Patch.lhs PatchApply.lhs PatchBundle.lhs	\
# Following line added by [Split Patch up more. Unfortunately needs a .hi-boot file.
# Ian Lynagh <igloo at earth.li>**20041211024030] 
 	PatchCheck.lhs PatchChoices.lhs PatchCommute.lhs PatchCore.lhs	\
# Following line added by [Split Patch up more. Unfortunately needs a .hi-boot file.
# Ian Lynagh <igloo at earth.li>**20041211024030] 
 	PatchInfo.lhs PatchMatch.lhs PatchMatchData.lhs			\
# Following line added by [Infrastructure for lazy patch parsing
# Ian Lynagh <igloo at earth.li>**20050104233618] 
 	PatchRead.lhs PatchReadMonads.hs PatchShow.lhs PatchViewing.lhs	\
# Following line added by [Reorganize breakup of Patch to avoid circular dependencies.
# David Roundy <droundy at abridgegame.org>**20041221141512] 
 	Population.lhs PopulationData.lhs	\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	PrintPatch.lhs Printer.lhs RegChars.lhs RepoPrefs.lhs		\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	RepoTypes.lhs Repository.lhs Resolution.lhs SHA1.lhs		\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	SignalHandler.lhs SlurpDirectory.lhs Test.lhs UTF8.lhs		\
# Following line added by [wrap main in with_atexit
# Tomasz Zielonka <tomasz.zielonka at gmail.com>**20050125084411] 
 	Workaround.hs Zlib.lhs FileSystem.hs AtExit.lhs
# Following line added by [windows support & external fetchprog.
# peter at zarquon.se**Tue Jul  8 01:10:43 CEST 2003] 
 
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 DARCS_FILES := $(COMMON_FILES) Add.lhs AmendRecord.lhs	\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	Annotate.lhs Apply.lhs		\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	ArgumentDefaults.lhs Changes.lhs Check.lhs Context.lhs		\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	DarcsCommands.lhs DarcsURL.hs DiffCommand.lhs Dist.lhs		\
# Following line added by [A new command: put
# Josef Svenningsson <josef.svenningsson at gmail.com>**20050305153255] 
 	Email.hs Get.lhs Init.lhs Mv.lhs Optimize.lhs Pull.lhs Push.lhs	\
# Following line added by [A new command: put
# Josef Svenningsson <josef.svenningsson at gmail.com>**20050305153255] 
 	Put.lhs Record.lhs RemoteApply.lhs Remove.lhs Repair.lhs \
# Following line added by [A new command: put
# Josef Svenningsson <josef.svenningsson at gmail.com>**20050305153255] 
 	Replace.lhs	\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	Resolve.lhs Revert.lhs Rollback.lhs	\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	SelectChanges.lhs Send.lhs SetPref.lhs Tag.lhs TheCommands.lhs	\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	TouchesFiles.lhs TrackDown.lhs Unrecord.lhs Unrevert.lhs	\
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 	WhatsNew.lhs
# Following line added by [resolve conflict with reportbug change.
# David Roundy <droundy at abridgegame.org>**20041113122456] 
 
# Following line added by [don't link with patch tests, which aren't needed except for unit.
# David Roundy <droundy at abridgegame.org>**20041129122201] 
 UNIT_FILES := $(DARCS_FILES) PatchTest.lhs
# Following line added by [don't link with patch tests, which aren't needed except for unit.
# David Roundy <droundy at abridgegame.org>**20041129122201] 
 
# Following line added by [use := rather than = for static assignments as recommended in GNU Make manual
# Craig M. Lennox <mirian at sandstorm.net>**20041004134942] 
 C_OBJS := compat.o fpstring.o zlib_helper.o c_context.o
# Following line added by [windows support & external fetchprog.
# peter at zarquon.se**Tue Jul  8 01:10:43 CEST 2003] 
 
# Following line added by [windows support & external fetchprog.
# peter at zarquon.se**Tue Jul  8 01:10:43 CEST 2003] 
 ifeq ($(SYS), windows)
# Following line added by [Move file-specific options out of GNUmakefile
# Taral <taral at taral.net>**20040928224635] 
 GHCFLAGS += -iwin32 -Iwin32 -threaded -DOVERRIDE_RENAMEFILE -DWIN32
# Following line added by [Avoid #ifdefs for posix imports
# peter at zarquon.se**20050111150419] 
 DARCS_FILES += win32/System/Posix.hs win32/CtrlC.hs
# Following line added by [fix win32 build problem
# Will <will at glozer.net>**20041003213706] 
 C_OBJS += win32/CtrlC_stub.o win32/CtrlC.o
# Following line added by [Avoid #ifdefs for posix imports
# peter at zarquon.se**20050111150419] 
 UNIT_FILES += win32/System/Posix.hs
# Following line added by [windows support & external fetchprog.
# peter at zarquon.se**Tue Jul  8 01:10:43 CEST 2003] 
 endif
# Following line added by [windows support & external fetchprog.
# peter at zarquon.se**Tue Jul  8 01:10:43 CEST 2003] 
 
# Following line added by [fffi flag, when termio is used
# lord at crocodile.org**20040318235513] 
 ifeq ($(HAVE_CURSES),True)
# Following line added by [have configure check for presence of libcurses.
# David Roundy <droundy at abridgegame.org>**20040319120604] 
 GHCFLAGS += -DHAVE_CURSES
# Following line added by [getTermNColors helper function to be used in Priner.lhs to decide when to use ANSI colour sequences
# lord at crocodile.org**20040317075223] 
 endif
# Following line added by [getTermNColors helper function to be used in Priner.lhs to decide when to use ANSI colour sequences
# lord at crocodile.org**20040317075223] 
 
# Following line added by [windows MAPI support (mail sending)
# peter at zarquon.se**20031207110204] 
 ifeq ($(HAVE_MAPI),True)
# Following line added by [windows MAPI support (mail sending)
# peter at zarquon.se**20031207110204] 
 C_OBJS += win32/send_email.o
# Following line added by [Move file-specific options out of GNUmakefile
# Taral <taral at taral.net>**20040928224635] 
 CPPFLAGS += -Iwin32
# Following line added by [fix linking problem with --disable-optimize
# Tomasz Zielonka <t.zielonka at students.mimuw.edu.pl>**20041005075950] 
 GHCFLAGS += -lmapi32 -DHAVE_MAPI
# Following line added by [windows MAPI support (mail sending)
# peter at zarquon.se**20031207110204] 
 endif
# Following line added by [windows MAPI support (mail sending)
# peter at zarquon.se**20031207110204] 
 
# Following line added by [use libcurl if available, external command otherwise.
# David Roundy <droundy at abridgegame.org>**Wed Jul 16 07:50:27 EDT 2003] 
 ifeq ($(HAVE_LIBCURL),True)
# Following line added by [use libcurl if available, external command otherwise.
# David Roundy <droundy at abridgegame.org>**Wed Jul 16 07:50:27 EDT 2003] 
 C_OBJS += hscurl.o
# Following line added by [Move file-specific options out of GNUmakefile
# Taral <taral at taral.net>**20040928224635] 
 GHCFLAGS += -DHAVE_CURL
# Following line added by [use libcurl if available, external command otherwise.
# David Roundy <droundy at abridgegame.org>**Wed Jul 16 07:50:27 EDT 2003] 
 endif
# Following line added by [use libcurl if available, external command otherwise.
# David Roundy <droundy at abridgegame.org>**Wed Jul 16 07:50:27 EDT 2003] 
 
# Following line added by [use := rather than = for static assignments as recommended in GNU Make manual
# Craig M. Lennox <mirian at sandstorm.net>**20041004134942] 
 DARCS_OBJS	:= $(patsubst %.hs,%.o,$(patsubst %.lhs,%.o,$(DARCS_FILES)))
# Following line added by [don't link with patch tests, which aren't needed except for unit.
# David Roundy <droundy at abridgegame.org>**20041129122201] 
 UNIT_OBJS	:= $(patsubst %.hs,%.o,$(patsubst %.lhs,%.o,$(UNIT_FILES)))
# Following line added by [new signal handling code.
# David Roundy <droundy at abridgegame.org>**20031115140253] 
 
# Following line added by [Clean a few more files in the *clean make targets
# Ian Lynagh <igloo at earth.li>**20040306173708] 
 .PHONY:		all clean distclean realclean dist deb test check install \
# Following line added by [create symlink to tarball and add "website" target.
# David Roundy <droundy at abridgegame.org>**20041031114302] 
 		installserver installdocs installbin windowsinstaller \
# Following line added by [create symlink to tarball and add "website" target.
# David Roundy <droundy at abridgegame.org>**20041031114302] 
 		website
# Following line added by [Add libcurl support for downloading files.
# droundy at abridgegame.org**Sun Feb  2 13:01:43 EST 2003] 
 
# Following line added by [don't require latex et al to build.
# droundy at abridgegame.org**Tue May 27 10:04:11 EDT 2003] 
 config: configure autoconf.mk
# Following line added by [don't require latex et al to build.
# droundy at abridgegame.org**Tue May 27 10:04:11 EDT 2003] 
 
# Following line added by [convert-repo is no longer needed.
# David Roundy <droundy at abridgegame.org>**20040223130548] 
 installbin:	all
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) -d $(DESTDIR)/$(bindir)
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) darcs $(DESTDIR)/$(bindir)
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) -d $(DESTDIR)/$(sysconfdir)/bash_completion.d/
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	$(INSTALL_DATA) darcs_completion $(DESTDIR)/$(sysconfdir)/bash_completion.d/darcs
# Following line added by [don't try to install docs if we don't build them...
# David Roundy <droundy at abridgegame.org>**Tue Sep 16 08:28:38 EDT 2003] 
 
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) -d $(DESTDIR)/$(mandir)/man1
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	$(INSTALL_DATA) darcs.1 $(DESTDIR)/$(mandir)/man1/
# Following line added by [don't try to install docs if we don't build them...
# David Roundy <droundy at abridgegame.org>**Tue Sep 16 08:28:38 EDT 2003] 
 
# Following line added by [don't try to install docs if we don't build them...
# David Roundy <droundy at abridgegame.org>**Tue Sep 16 08:28:38 EDT 2003] 
 installdocs:	darcs.ps manual/index.html
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) -d $(DESTDIR)/$(datadir)/doc/darcs/manual
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	$(INSTALL_DATA) darcs.ps $(DESTDIR)/$(datadir)/doc/darcs
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	$(INSTALL_DATA) manual/* $(DESTDIR)/$(datadir)/doc/darcs/manual
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) -d $(DESTDIR)/$(datadir)/doc/darcs/examples
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	$(INSTALL_DATA) zsh_completion_new $(DESTDIR)/$(datadir)/doc/darcs/examples/
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	$(INSTALL_DATA) zsh_completion_old $(DESTDIR)/$(datadir)/doc/darcs/examples/
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [remove old darcs_cgi script.
# David Roundy <droundy at abridgegame.org>**20041121133915] 
 installserver:	darcs-createrepo cgi/darcs.cgi
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) -d $(DESTDIR)/$(libexecdir)/cgi-bin
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) -d $(DESTDIR)/$(sbindir)
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) darcs-createrepo $(DESTDIR)/$(sbindir)
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [change install to $(INSTALL) and get rid of -c.
# David Roundy <droundy at abridgegame.org>**20040316115307] 
 	$(INSTALL) -d $(DESTDIR)/$(sysconfdir)/darcs
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 	test -e $(DESTDIR)/$(sysconfdir)/darcs/cgi.conf || \
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	    $(INSTALL_DATA) cgi/cgi.conf $(DESTDIR)/$(sysconfdir)/darcs/cgi.conf
# Following line added by [(COMPLETELE UNTESTED) install darcs.cgi and use autoconf to set locations.
# David Roundy <droundy at abridgegame.org>**20040610110705] 
 	$(INSTALL) cgi/darcs.cgi $(DESTDIR)/$(libexecdir)/cgi-bin/darcs.cgi
# Following line added by [(COMPLETELE UNTESTED) install darcs.cgi and use autoconf to set locations.
# David Roundy <droundy at abridgegame.org>**20040610110705] 
 	$(INSTALL) -d $(DESTDIR)/$(datadir)/darcs
# Following line added by [(COMPLETELE UNTESTED) install darcs.cgi and use autoconf to set locations.
# David Roundy <droundy at abridgegame.org>**20040610110705] 
 	$(INSTALL) -d $(DESTDIR)/$(datadir)/darcs/xslt
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	$(INSTALL_DATA) cgi/xslt/*.xslt $(DESTDIR)/$(datadir)/darcs/xslt/
# Following line added by [use autoconf to check for working 'install' program.
# David Roundy <droundy at abridgegame.org>**20041102110811] 
 	$(INSTALL_DATA) cgi/xslt/styles.css $(DESTDIR)/$(datadir)/darcs/xslt/styles.css
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [debian policy doesn't allow symlinks in etc
# ijones at debian.org**20040804143846] 
 # Debian policy doesn't allow symlinks as configuration files.
# Following line added by [debian policy doesn't allow symlinks in etc
# ijones at debian.org**20040804143846] 
 #	test -e $(DESTDIR)/$(sysconfdir)/darcs/styles.css || \
# Following line added by [debian policy doesn't allow symlinks in etc
# ijones at debian.org**20040804143846] 
 #	    ln -s $(datadir)/darcs/xslt/styles.css \
# Following line added by [debian policy doesn't allow symlinks in etc
# ijones at debian.org**20040804143846] 
 #		$(DESTDIR)/$(sysconfdir)/darcs/styles.css
# Following line added by [debian policy doesn't allow symlinks in etc
# ijones at debian.org**20040804143846] 
 	$(INSTALL) -m 644 cgi/xslt/styles.css $(DESTDIR)/$(sysconfdir)/darcs/styles.css
# Following line added by [debian policy doesn't allow symlinks in etc
# ijones at debian.org**20040804143846] 
 
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 dist:		darcs
# Following line added by [Fix up standard targest of makefile.
# droundy at abridgegame.org**Sat Mar  1 08:43:46 EST 2003] 
 	./darcs dist --dist-name darcs-`./darcs --version`
# Following line added by [add symlink to tarball as darcs-latest.tar.gz on make dist.
# David Roundy <droundy at abridgegame.org>**20041019085945] 
 	ln -sf darcs-`darcs --version`.tar.gz darcs-latest.tar.gz
# Following line added by [add symlink to tarball as darcs-latest.tar.gz on make dist.
# David Roundy <droundy at abridgegame.org>**20041019085945] 
 
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 deb:		darcs
# Following line added by [clear out /tmp/darcs-deb_temp prior to making deb.
# David Roundy <droundy at abridgegame.org>**20040726113516] 
 	rm -rf /tmp/darcs-deb_temp && \
# Following line added by [fix deb target for recent debuild.
# David Roundy <droundy at abridgegame.org>**20031104134949] 
 	./darcs dist --dist-name darcs-deb_temp && \
# Following line added by [fix deb target for recent debuild.
# David Roundy <droundy at abridgegame.org>**20031104134949] 
 	mv darcs-deb_temp.tar.gz /tmp && \
# Following line added by [fix deb target for recent debuild.
# David Roundy <droundy at abridgegame.org>**20031104134949] 
 	cd /tmp && tar zxf darcs-deb_temp.tar.gz && \
# Following line added by [fix deb target for recent debuild.
# David Roundy <droundy at abridgegame.org>**20031104134949] 
 	cd darcs-deb_temp && debuild && \
# Following line added by [fix deb target for recent debuild.
# David Roundy <droundy at abridgegame.org>**20031104134949] 
 	rm -rf /tmp/darcs-deb_temp
# Following line added by [Fix up standard targest of makefile.
# droundy at abridgegame.org**Sat Mar  1 08:43:46 EST 2003] 
 
# Following line added by [Add support for building Windows installer via NSIS
# ei at vuokko.info**20040516162618] 
 windowsinstaller:	darcs manual/index.html darcs.nsi
# Following line added by [Add support for building Windows installer via NSIS
# ei at vuokko.info**20040516162618] 
 	echo "!define VERSION $(DARCS_VERSION)" > version.nsi
# Following line added by [Add support for building Windows installer via NSIS
# ei at vuokko.info**20040516162618] 
 	"$(MAKENSIS)" version.nsi darcs.nsi
# Following line added by [Add support for building Windows installer via NSIS
# ei at vuokko.info**20040516162618] 
 	rm -f version.nsi
# Following line added by [Add support for building Windows installer via NSIS
# ei at vuokko.info**20040516162618] 
 
# Following line added by [fixes to make darcs compile with latest ghc from cvs.
# David Roundy <droundy at abridgegame.org>**Sun Sep 28 14:44:33 EDT 2003] 
 darcs:		$(DARCS_OBJS) darcs.lhs $(C_OBJS) rts.o
# Following line added by [Let us make us of GNU make
# simons at cryp.to**Thu May 22 14:44:05 CEST 2003
 With GNU make being a requirement now, things become much, much
 easier. The build will now:
 
  - Realize when to re-run autoconf and configure.
 
  - Build all dependencies automatically.
 
  - Re-build what's necessary -- but _only_ what's necessary.
] 
 	@echo Linking $@ ...
# Following line added by [fixes to make darcs compile with latest ghc from cvs.
# David Roundy <droundy at abridgegame.org>**Sun Sep 28 14:44:33 EDT 2003] 
 	@rm -f Main.o Main.hi
# Following line added by [add -optl before linker flags and simplify makefile a tad.
# David Roundy <droundy at abridgegame.org>**20040809104622] 
 	@$(GHC) $(GHCFLAGS) $(OPTLLDFLAGS) -o $@ $^
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [Add ghci makefile target
# Taral <taral at taral.net>**20040925233056] 
 ghci: $(DARCS_FILES) $(C_OBJS)
# Following line added by [Add ghci makefile target
# Taral <taral at taral.net>**20040925233056] 
 	ghci $(filter-out -Wall,$(GHCFLAGS)) $(OPTLLDFLAGS) darcs.lhs $(C_OBJS)
# Following line added by [Add ghci makefile target
# Taral <taral at taral.net>**20040925233056] 
 .PHONY: ghci
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [fixes to make darcs compile with latest ghc from cvs.
# David Roundy <droundy at abridgegame.org>**Sun Sep 28 14:44:33 EDT 2003] 
 darcsman:		darcsman.hs $(C_OBJS) $(DARCS_OBJS)
# Following line added by [rename authors.hs to prevent case-insensitive overwrite
# Will <will at glozer.net>**20041110231711
 Running `authors > AUTHORS` fails on case-insensitive platforms since the
 program overwrites itself.  Make executable called 'list_authors' instead.
] 
 list_authors:	list_authors.hs $(C_OBJS) $(DARCS_OBJS)
# Following line added by [fix makefile problem with darcs-createrepo.
# David Roundy <droundy at abridgegame.org>**20050201123415] 
 darcs-createrepo:	darcs-createrepo.lhs DarcsUtils.o Workaround.o \
# Following line added by [fix makefile problem with darcs-createrepo.
# David Roundy <droundy at abridgegame.org>**20050201123415] 
 			Autoconf.o Printer.o FastPackedString.o \
# Following line added by [fix makefile problem with darcs-createrepo.
# David Roundy <droundy at abridgegame.org>**20050201123415] 
 			fpstring.o rts.o
# Following line added by [don't link with patch tests, which aren't needed except for unit.
# David Roundy <droundy at abridgegame.org>**20041129122201] 
 unit:			unit.lhs $(UNIT_OBJS) rts.o $(C_OBJS)
# Following line added by [preproc needs RegexString.
# David Roundy <droundy at abridgegame.org>**20031122131714] 
 preproc:		GHCFLAGS += -package text
# Following line added by [fixes to make darcs compile with latest ghc from cvs.
# David Roundy <droundy at abridgegame.org>**Sun Sep 28 14:44:33 EDT 2003] 
 preproc:		preproc.hs $(C_OBJS) $(DARCS_OBJS)
# Following line added by [Let us make us of GNU make
# simons at cryp.to**Thu May 22 14:44:05 CEST 2003
 With GNU make being a requirement now, things become much, much
 easier. The build will now:
 
  - Realize when to re-run autoconf and configure.
 
  - Build all dependencies automatically.
 
  - Re-build what's necessary -- but _only_ what's necessary.
] 
 
# Following line added by [remove old darcs_cgi script.
# David Roundy <droundy at abridgegame.org>**20041121133915] 
 TEXSOURCES := preproc darcs.lhs features.tex \
# Following line added by [switch to FSF-formatted latex version of GPL.
# David Roundy <droundy at abridgegame.org>**20041026115643
 I still had to make some modifications to allow it to be included in the
 manual.
] 
 	switching.tex configuring_darcs.tex gpl.tex \
# Following line added by [add best_practices.tex to TEXSOURCES
# Tommy Pettersson <ptp at lysator.liu.se>**20041030142607] 
 	darcs-createrepo.lhs $(DARCS_FILES) building_darcs.tex \
# Following line added by [add best_practices.tex to TEXSOURCES
# Tommy Pettersson <ptp at lysator.liu.se>**20041030142607] 
 	best_practices.tex
# Following line added by [add new \begin{options} module to documentation.
# David Roundy <droundy at abridgegame.org>**20041016135437] 
 darcs.tex: $(TEXSOURCES)
# Following line added by [fix compiling of manual to html with processors other than latex2html.
# David Roundy <droundy at abridgegame.org>**20041102114638] 
 	./preproc darcs.lhs $(PREPROCHTML) > darcs.tex
# Following line added by [add new \begin{options} module to documentation.
# David Roundy <droundy at abridgegame.org>**20041016135437] 
 darcs_print.tex: $(TEXSOURCES)
# Following line added by [add new \begin{options} module to documentation.
# David Roundy <droundy at abridgegame.org>**20041016135437] 
 	./preproc darcs.lhs > darcs_print.tex
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [create symlink to tarball and add "website" target.
# David Roundy <droundy at abridgegame.org>**20041031114302] 
 website: darcs-stable.tar.gz darcs.ps manual/index.html manual/bigpage.html darcs \
# Following line added by [remaking the website should involve running make dist.
# David Roundy <droundy at abridgegame.org>**20041031132606] 
 	index.html
# Following line added by [create symlink to tarball and add "website" target.
# David Roundy <droundy at abridgegame.org>**20041031114302] 
 
# Following line added by [remove old darcs_cgi script.
# David Roundy <droundy at abridgegame.org>**20041121133915] 
 manual/index.html: darcs.tex gpl.tex darcs.css
# Following line added by [add support for building docs using htlatex rather than latex2html.
# David Roundy <droundy at abridgegame.org>**20031110164334] 
 	$(MAKEMANUAL)
# Following line added by [use new darcs.css with manual as well.
# David Roundy <droundy at abridgegame.org>**20041016171201] 
 	cp -f darcs.css manual/darcs.css
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [remove old darcs_cgi script.
# David Roundy <droundy at abridgegame.org>**20041121133915] 
 manual/bigpage.html: darcs.tex gpl.tex darcs.css
# Following line added by [add new \begin{options} module to documentation.
# David Roundy <droundy at abridgegame.org>**20041016135437] 
 	ln -sf darcs.tex bigpage.tex
# Following line added by [fix makefile target for web page.
# droundy at civet.berkeley.edu**20031212143427] 
 	latex2html -split 0 -external_file darcs -prefix big \
# Following line added by [use new icons for bigpage manual as well.
# David Roundy <droundy at abridgegame.org>**20041101094948] 
 		-no_auto_link -dir manual bigpage.tex
# Following line added by [create a big html file of documentation.
# droundy at civet.berkeley.edu**Mon Jul 28 17:48:04 EDT 2003] 
 	rm bigpage.tex
# Following line added by [use new darcs.css with manual as well.
# David Roundy <droundy at abridgegame.org>**20041016171201] 
 	cp -f darcs.css manual/bigpage.css
# Following line added by [make AntiMemo literate, working towards antimemoization paper.
# David Roundy <droundy at abridgegame.org>**20041106141351] 
 
# Following line added by [make AntiMemo literate, working towards antimemoization paper.
# David Roundy <droundy at abridgegame.org>**20041106141351] 
 manual/AntiMemo.html: AntiMemo.lhs
# Following line added by [make AntiMemo literate, working towards antimemoization paper.
# David Roundy <droundy at abridgegame.org>**20041106141351] 
 	latex2html -split 0 -no_auto_link -dir manual AntiMemo.lhs
# Following line added by [make AntiMemo literate, working towards antimemoization paper.
# David Roundy <droundy at abridgegame.org>**20041106141351] 
 	cp -f darcs.css manual/AntiMemo.css
# Following line added by [create a big html file of documentation.
# droundy at civet.berkeley.edu**Mon Jul 28 17:48:04 EDT 2003] 
 
# Following line added by [index.html should be rebuild if config.status has changed.
# David Roundy <droundy at abridgegame.org>**20041202125327] 
 index.html:	index.html.in config.status
# Following line added by [we don't need to run darcs to get version in index.html make rule.
# David Roundy <droundy at abridgegame.org>**20041104133046] 
 	sed "s/VERSION/$(DARCS_VERSION)/g" $< > $@
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [add new \begin{options} module to documentation.
# David Roundy <droundy at abridgegame.org>**20041016135437] 
 darcs.ps:	darcs_print.ps
# Following line added by [Copy darcs_print.ps into darcs.ps instead of copying it
# Samuel Tardieu <sam at rfc1149.net>**20041110125906] 
 	cp darcs_print.ps darcs.ps
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [Support multiple latex runs to build cross-references.
# simons at cryp.to**Wed May 21 23:50:52 CEST 2003] 
 darcs.1:	darcsman
# Following line added by [Add a man page.
# droundy at abridgegame.org**Sat Mar  1 11:02:27 EST 2003] 
 	./darcsman > darcs.1
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [rename authors.hs to prevent case-insensitive overwrite
# Will <will at glozer.net>**20041110231711
 Running `authors > AUTHORS` fails on case-insensitive platforms since the
 program overwrites itself.  Make executable called 'list_authors' instead.
] 
 AUTHORS:	list_authors
# Following line added by [rename authors.hs to prevent case-insensitive overwrite
# Will <will at glozer.net>**20041110231711
 Running `authors > AUTHORS` fails on case-insensitive platforms since the
 program overwrites itself.  Make executable called 'list_authors' instead.
] 
 	./list_authors > AUTHORS
# Following line added by [automatically generate AUTHORS file from repo history.
# David Roundy <droundy at abridgegame.org>**20040918124430] 
 
# Following line added by [RT #255 Comprehensible shell test output
# schwern at pobox.com**20050311212647] 
 test check:    test_unit test_perl test_shell
# Following line added by [RT #255 Comprehensible shell test output
# schwern at pobox.com**20050311212647] 
 
# Following line added by [RT #255 Comprehensible shell test output
# schwern at pobox.com**20050311212647] 
 test_perl:     darcs
# Following line added by [Test::Darcs.  darcs() instead of `$DARCS ...`
# schwern at pobox.com**20050312031120
 
 All the perl tests repeat this mantra to find darcs:
 
   use vars qw/$DARCS/;
 
   die 'darcs not found' unless $ENV{DARCS} || (-x "$ENV{PWD}/../darcs");
   $DARCS = $ENV{DARCS} || "$ENV{PWD}/../darcs";
 
 And then they call $DARCS directly via a shell command.  `$DARCS ...`
 Repeated code is bad and all that shell is likely to become a compatibility
 liability.
 
 This patch creats a library Test::Darcs and in it darcs() which replaces
 `$DARCS ...`.  I've converted add.pl to use it as a demonstration.
 
 One of the issues is now in order to run an individual Perl test file you
 must add -Ilib/perl so it can find Test::Darcs.  Alternatively one can 
 add "use lib qw(lib/perl)" to all the Perl tests.  I don't know which is
 better for darcs developers.  The latter is redundant but potentially less
 confusing.
 
 More testing libraries for tests/lib/perl to follow.
 
] 
 	@cd tests && perl -Ilib/perl -MTest::Harness -e 'runtests @ARGV' *.pl
# Following line added by [RT #255 Comprehensible shell test output
# schwern at pobox.com**20050311212647] 
 
# Following line added by [RT #255 Comprehensible shell test output
# schwern at pobox.com**20050311212647] 
 test_unit:     darcs unit
# Following line added by [don't use nice when running tests.
# David Roundy <droundy at abridgegame.org>**20040410210238
 nice may not be present on some (esp win32) systems...
] 
 	./unit
# Following line added by [RT #255 Comprehensible shell test output
# schwern at pobox.com**20050311212647] 
 
# Following line added by [RT #255 Comprehensible shell test output
# schwern at pobox.com**20050311212647] 
 test_shell:    darcs
# Following line added by [RT #255 Comprehensible shell test output
# schwern at pobox.com**20050311212647] 
 	@cd tests && perl shell_harness *.sh
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [Initial version of darcs.
# droundy at abridgegame.org**Sun Oct 20 20:01:05 EDT 2002] 
 clean:
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 	rm -f *.o *.hi unit diff darcs darcs_cgi
# Following line added by [fix overwriting of c_context.c in tarball source.
# David Roundy <droundy at abridgegame.org>**20041005112445] 
 	rm -f Context.hs stringify
# Following line added by [Delete documentation at 'distclean', not 'clean'.
# simons at cryp.to**Thu May 22 15:08:31 CEST 2003] 
 	rm -f darcs.tex darcs.dvi darcs.aux
# Following line added by [remove the darcs_print files on make clean.
# David Roundy <droundy at abridgegame.org>**20041102122741] 
 	rm -f darcs_print.tex darcs_print.log darcs_print.aux darcs_print.toc
# Following line added by [remove the darcs-patcher program.
# David Roundy <droundy at abridgegame.org>**Fri Aug 29 08:40:44 EDT 2003
 I've also added to the getting started section a discussion of how to set
 up a pushable repo with procmail.
] 
 	rm -f darcs-createrepo preproc darcsman
# Following line added by [Clean darcs.log and darcs.toc.
# simons at cryp.to**Fri Oct  3 20:41:44 CEST 2003] 
 	rm -rf tests/temp* darcs.log darcs.toc
# Following line added by [include .depend in the tarball.
# David Roundy <droundy at abridgegame.org>**20040608111818] 
 	rm -f conftest* .depend.bak
# Following line added by [Clean up win32 directory on make clean
# ei at vuokko.info**20040516122905] 
 	rm -f win32/*.o win32/*.hi
# Following line added by [Add support for building Windows installer via NSIS
# ei at vuokko.info**20040516162618] 
 	rm -f version.nsi
# Following line added by [rename authors.hs to prevent case-insensitive overwrite
# Will <will at glozer.net>**20041110231711
 Running `authors > AUTHORS` fails on case-insensitive platforms since the
 program overwrites itself.  Make executable called 'list_authors' instead.
] 
 	rm -f list_authors
# Following line added by [Autoconf-based build system: first attempt.
# simons at cryp.to**Wed May 21 19:39:10 CEST 2003
 The autoconf-based build system is rather premature at the moment. It
 builds fine on the machines I could test it on, but the configure.in
 script will need much more tests before this works really well.
] 
 
# Following line added by [Cosmetic changes in the build process.
# simons at cryp.to**Wed May 21 23:45:51 CEST 2003
 - Fixed minor typos.
 - Added 'distclean' target in addition to 'clean'.
] 
 distclean:	clean
# Following line added by [Cosmetic changes in the build process.
# simons at cryp.to**Wed May 21 23:45:51 CEST 2003
 - Fixed minor typos.
 - Added 'distclean' target in addition to 'clean'.
] 
 	rm -rf config.status config.log autoconf.mk config.cache autom4te.cache
# Following line added by [added rm of darcs.idv to clean rule
# ijones at debian.org**20041120230219] 
 	rm -f darcs.ps darcs.pdf Autoconf.lhs Workaround.hs darcs.idv
# Following line added by [Let us make us of GNU make
# simons at cryp.to**Thu May 22 14:44:05 CEST 2003
 With GNU make being a requirement now, things become much, much
 easier. The build will now:
 
  - Realize when to re-run autoconf and configure.
 
  - Build all dependencies automatically.
 
  - Re-build what's necessary -- but _only_ what's necessary.
] 
 
# Following line added by [Clean a few more files in the *clean make targets
# Ian Lynagh <igloo at earth.li>**20040306173708] 
 realclean: distclean
# Following line added by [fix overwriting of c_context.c in tarball source.
# David Roundy <droundy at abridgegame.org>**20041005112445] 
 	rm -f configure darcs.1 .depend AUTHORS c_context.c
# Following line added by [Clean a few more files in the *clean make targets
# Ian Lynagh <igloo at earth.li>**20040306173708] 
 
# Following line added by [The canonical name for autoconf input is configure.ac.
# Samuel Tardieu <sam at rfc1149.net>**20040206171555] 
 configure:		configure.ac aclocal.m4
# Following line added by [Re-organized the depend and automake.in-related targets.
# simons at cryp.to**Wed May 28 01:21:12 CEST 2003
 In the old version, it could happen that $GHCFLAGS wasn't passed to
 the dependency generation cammend, resulting in te build failing. This
 re-organization will make sure autoconf.mk is built and included
 before we re-build the dependencies.
] 
 	autoconf
# Following line added by [Re-organized the depend and automake.in-related targets.
# simons at cryp.to**Wed May 28 01:21:12 CEST 2003
 In the old version, it could happen that $GHCFLAGS wasn't passed to
 the dependency generation cammend, resulting in te build failing. This
 re-organization will make sure autoconf.mk is built and included
 before we re-build the dependencies.
] 
 
# Following line added by [(COMPLETELE UNTESTED) install darcs.cgi and use autoconf to set locations.
# David Roundy <droundy at abridgegame.org>**20040610110705] 
 autoconf.mk Autoconf.lhs cgi/darcs.cgi:	config.status \
# Following line added by [(COMPLETELE UNTESTED) install darcs.cgi and use autoconf to set locations.
# David Roundy <droundy at abridgegame.org>**20040610110705] 
 		autoconf.mk.in Autoconf.lhs.in cgi/darcs.cgi.in
# Following line added by [don't rerun configure whenever .in files change.
# droundy at abridgegame.org**Wed Jul  2 08:57:18 EDT 2003] 
 	sh config.status
# Following line added by [don't rerun configure whenever .in files change.
# droundy at abridgegame.org**Wed Jul  2 08:57:18 EDT 2003] 
 
# Following line added by [don't rerun configure whenever .in files change.
# droundy at abridgegame.org**Wed Jul  2 08:57:18 EDT 2003] 
 config.status:	configure
# Following line added by [remember configure settings when reconfiguring.
# David Roundy <droundy at abridgegame.org>**20040522103156] 
 	if test -f config.command; then sh ./config.command; \
# Following line added by [remember configure settings when reconfiguring.
# David Roundy <droundy at abridgegame.org>**20040522103156] 
 	else sh ./configure; fi
# Following line added by [Re-organized the depend and automake.in-related targets.
# simons at cryp.to**Wed May 28 01:21:12 CEST 2003
 In the old version, it could happen that $GHCFLAGS wasn't passed to
 the dependency generation cammend, resulting in te build failing. This
 re-organization will make sure autoconf.mk is built and included
 before we re-build the dependencies.
] 
 
# Following line added by [fixes to make darcs work with ghc 6.4.
# David Roundy <droundy at abridgegame.org>**20050212125212] 
 .depend:	$(DARCS_FILES) $(UNIT_FILES)
# Following line added by [Let us make us of GNU make
# simons at cryp.to**Thu May 22 14:44:05 CEST 2003
 With GNU make being a requirement now, things become much, much
 easier. The build will now:
 
  - Realize when to re-run autoconf and configure.
 
  - Build all dependencies automatically.
 
  - Re-build what's necessary -- but _only_ what's necessary.
] 
 	@echo Rebuild dependencies ...
# Following line added by [we don't need package text, if we have a working Text.Regex.
# David Roundy <droundy at abridgegame.org>**20031122122930] 
 	@$(GHC) $(GHCFLAGS) -package util -package text -M -optdep-f -optdep.depend $^
# Following line added by [Let us make us of GNU make
# simons at cryp.to**Thu May 22 14:44:05 CEST 2003
 With GNU make being a requirement now, things become much, much
 easier. The build will now:
 
  - Realize when to re-run autoconf and configure.
 
  - Build all dependencies automatically.
 
  - Re-build what's necessary -- but _only_ what's necessary.
] 
 
# Following line added by [Re-organized the depend and automake.in-related targets.
# simons at cryp.to**Wed May 28 01:21:12 CEST 2003
 In the old version, it could happen that $GHCFLAGS wasn't passed to
 the dependency generation cammend, resulting in te build failing. This
 re-organization will make sure autoconf.mk is built and included
 before we re-build the dependencies.
] 
 .depend:	autoconf.mk
# Following line added by [Re-organized the depend and automake.in-related targets.
# simons at cryp.to**Wed May 28 01:21:12 CEST 2003
 In the old version, it could happen that $GHCFLAGS wasn't passed to
 the dependency generation cammend, resulting in te build failing. This
 re-organization will make sure autoconf.mk is built and included
 before we re-build the dependencies.
] 
 
# Following line added by [If making clean, no need to include/rebuild autoconf.mk or .depend
# Mirian Crzig Lennox <mirian at sandstorm.net>**20040305144515] 
 ifeq (,$(findstring clean,$(MAKECMDGOALS)))
# Following line added by [add --exact-version option to darcs which gives its precise version.
# David Roundy <droundy at abridgegame.org>**20040730104030] 
 ifneq (config,$(MAKECMDGOALS))
# Following line added by [Let us make us of GNU make
# simons at cryp.to**Thu May 22 14:44:05 CEST 2003
 With GNU make being a requirement now, things become much, much
 easier. The build will now:
 
  - Realize when to re-run autoconf and configure.
 
  - Build all dependencies automatically.
 
  - Re-build what's necessary -- but _only_ what's necessary.
] 
 include .depend
# Following line added by [If making clean, no need to include/rebuild autoconf.mk or .depend
# Mirian Crzig Lennox <mirian at sandstorm.net>**20040305144515] 
 endif
# Following line added by [add --exact-version option to darcs which gives its precise version.
# David Roundy <droundy at abridgegame.org>**20040730104030] 
 endif
# Following line added by [add newlines to the end of (almost) every file.
# David Roundy <droundy at abridgegame.org>**20031127124815
 This is to compensate for the earlier trailing newline fix (which removed
 these newlines).
] 
 
 


More information about the darcs-users mailing list