10 GHCFLAGS
=-Wall
-threaded
15 # build the library itself
17 SOURCES
=Distribution
/*.hs Distribution
/Simple
/*.hs \
18 Distribution
/PackageDescription
/*.hs Distribution
/Simple
/GHC
/*.hs \
19 Distribution
/Simple
/Build
/*.hs Distribution
/Compat
/*.hs \
20 Distribution
/Simple
/Program
/*.hs
21 CONFIG_STAMP
=dist/setup-config
22 BUILD_STAMP
=dist/build
/libHSCabal-
$(VERSION
).a
23 HADDOCK_STAMP
=dist/doc
/html
/Cabal
/index.html
24 USERGUIDE_STAMP
=dist/doc
/users-guide
/index.html
25 SDIST_STAMP
=dist/Cabal-
$(VERSION
).
tar.gz
27 DIST_STAMP
=$(DISTLOC
)/Cabal-
$(VERSION
).
tar.gz
28 SPHINXCMD
:=$(shell command
-v sphinx-build2
2> /dev
/null
)
30 SPHINXCMD
:=$(shell command
-v sphinx-build
2> /dev
/null
)
33 $(error
"needs sphinx-build")
39 setup
: $(SOURCES
) Setup.hs
41 $(HC
) $(GHCFLAGS
) --make
-i.
-odir
dist/setup
-hidir
dist/setup Setup.hs \
44 $(CONFIG_STAMP
): setup Cabal.cabal
45 .
/setup configure
--with-compiler
=$(HC
) --prefix=$(PREFIX
)
48 $(BUILD_STAMP
): $(CONFIG_STAMP
) $(SOURCES
)
51 install: $(BUILD_STAMP
)
56 haddock
: $(HADDOCK_STAMP
)
57 $(HADDOCK_STAMP
) : $(CONFIG_STAMP
) $(BUILD_STAMP
)
60 SPHINX_HTML_OUTDIR
=dist/doc
/users-guide
62 users-guide
: $(USERGUIDE_STAMP
)
63 $(USERGUIDE_STAMP
) : doc
/*.rst
64 mkdir
-p
$(SPHINX_HTML_OUTDIR
)
65 $(SPHINXCMD
) doc
$(SPHINX_HTML_OUTDIR
)
67 docs
: haddock users-guide
75 moduleTest
: tests
/ModuleTest.hs tests
/PackageDescriptionTests.hs
77 $(HC
) --make
-Wall
-DDEBUG
-odir
dist/test -hidir
dist/test \
78 -itests tests
/ModuleTest.hs
-o moduleTest
80 #tests: moduleTest clean
81 # cd tests/A && $(MAKE) clean
82 # cd tests/HUnit-1.0 && $(MAKE) clean
83 # cd tests/A && $(MAKE)
84 # cd tests/HUnit-1.0 && $(MAKE)
93 $(SDIST_STAMP
) : $(BUILD_STAMP
)
97 $(DIST_STAMP
) : $(HADDOCK_STAMP
) $(USERGUIDE_STAMP
) $(SDIST_STAMP
)
100 tar -xzf
$(SDIST_STAMP
) -C
$(DISTLOC
)/
101 mkdir
-p
$(DISTLOC
)/Cabal-
$(VERSION
)/doc
102 cp
-r
dist/doc
/html
$(DISTLOC
)/Cabal-
$(VERSION
)/doc
/API
103 cp
-r
dist/doc
/users-guide
$(DISTLOC
)/Cabal-
$(VERSION
)/doc
/
104 cp changelog
$(DISTLOC
)/Cabal-
$(VERSION
)/
105 tar --format
=ustar
-C
$(DISTLOC
) -czf
$(DISTLOC
)/Cabal-
$(VERSION
).
tar.gz Cabal-
$(VERSION
)
107 mv
$(DISTLOC
)/Cabal-
$(VERSION
)/doc
/users-guide
$(DISTLOC
)/doc
108 mv
$(DISTLOC
)/Cabal-
$(VERSION
)/doc
/API
$(DISTLOC
)/doc
109 mv
$(DISTLOC
)/Cabal-
$(VERSION
)/changelog
$(DISTLOC
)/
110 rm -r
$(DISTLOC
)/Cabal-
$(VERSION
)/
111 @echo
"Cabal tarball built: $(DIST_STAMP)"
112 @echo
"Release fileset prepared: $(DISTLOC)/"
114 # Out of date, use SFTP
115 #release: $(DIST_STAMP)
116 # scp -r $(DISTLOC) $(SSH_USER)@haskell.org:/home/web/haskell.org/cabal/release/cabal-$(VERSION)
117 # ssh $(SSH_USER)@haskell.org 'cd /home/web/haskell.org/cabal/release && rm -f $(KIND) && ln -s cabal-$(VERSION) $(KIND)'
121 TAGSSRCDIRS
= Distribution Language
122 tags TAGS
: $(SOURCES
)
123 find
$(TAGSSRCDIRS
) -name \
*.\
*hs | xargs hasktags