source: trunk/base/Makefile.in @ 68996

Last change on this file since 68996 was 68996, checked in by jmr@…, 10 years ago

Added integrity checking for fetched archives via signed digests. New pubkeys.conf file allows configuring keys to trust. The private counterpart of the installed public key will of course need to live on our binary building server.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.7 KB
Line 
1# $Id: Makefile.in 68996 2010-06-19 23:21:02Z jmr@macports.org $
2
3PATH            = @PATH_CLEANED@
4SUBDIR          = doc src
5DISTDIR         = dist
6DISTVER         =
7DISTTAG         = release_${subst .,_,${DISTVER}}
8DISTNAME        = MacPorts-${DISTVER}
9DISTARCTAG      = ${DISTTAG}-archive
10DISTARCNAME     = ${DISTNAME}-archive
11SVNURL          = http://svn.macports.org/repository/macports
12
13
14include Mk/macports.autoconf.mk
15
16
17all:: Mk/macports.autoconf.mk
18
19Mk/macports.autoconf.mk: Mk/macports.autoconf.mk.in src/config.h.in Makefile.in config.status
20        ./config.status
21        make clean
22
23config.status: configure
24        @if test -f ./config.status ; then      \
25                set -x ;                                                \
26                ./config.status --recheck ;             \
27        else                                                            \
28                set -x ;                                                \
29                echo "Source tree not configured. Use ./configure" ; \
30        fi
31
32include Mk/macports.subdir.mk
33
34install::
35        [ ! -f $(DESTDIR)${sysconfdir}/macports/mp_version ] || rm -vf $(DESTDIR)${sysconfdir}/macports/mp_version
36        $(INSTALL) -o ${DSTUSR} -g ${DSTGRP} -m 444 setupenv.bash  $(DESTDIR)${datadir}/macports/
37        $(INSTALL) -o ${DSTUSR} -g ${DSTGRP} -m 444 macports-pubkey.pem  $(DESTDIR)${datadir}/macports/
38# Only run these scripts when not building in a destroot
39ifeq ($(DESTDIR),)
40# Add [default] tag to the central MacPorts repository, if it isn't already
41        $(TCLSH) src/upgrade_sources_conf_default.tcl ${prefix}
42# Remove duplicate entries from the dependency map (could occur with 1.6 and earlier):
43        $(TCLSH) src/dep_map_clean.tcl "${macports_tcl_dir}"
44endif
45        @echo ""; echo "Congratulations, you have successfully installed the MacPorts system. To get the Portfiles and update the system, add ${prefix}/bin to your PATH and run:"; echo ""
46        @echo "sudo port -v selfupdate"; echo ""
47        @echo "Please read \"man port\", the MacPorts guide at http://guide.macports.org/ and Wiki at http://trac.macports.org/ for full documentation."; echo ""
48
49group::
50        @echo "creating a macports group..." && sudo dseditgroup -o create -n . macports && echo "done! use './configure --with-install-group=macports --with-shared-directory' if you haven't already"
51
52rmgroup::
53        @echo "deleting macports group..." && sudo dseditgroup -o delete -n . macports && echo "done! use 'make group' to re-create"
54
55
56clean::
57
58distclean::
59        rm -f config.log config.status configure.lineno
60        rm -rf autom4te.cache ${DISTDIR}
61        rm -f Makefile Mk/macports.autoconf.mk portmgr/freebsd/Makefile
62        rm -f Doxyfile
63        rm -f setupenv.bash
64
65_gettag:
66        cd ${DISTDIR}; svn co ${SVNURL}/tags/${SVNTAG} ${PKGNAME}-svn
67
68_pkgdist:
69        [ ! -d ${DISTDIR}/${PKGNAME} ] || rm -rf ${DISTDIR}/${PKGNAME}
70        cd ${DISTDIR}; svn export ${PKGNAME}-svn ${PKGNAME}
71        cd ${DISTDIR}; COPY_EXTENDED_ATTRIBUTES_DISABLE=true tar -c ${PKGNAME} | gzip > ${PKGNAME}.tar.gz
72        cd ${DISTDIR}; COPY_EXTENDED_ATTRIBUTES_DISABLE=true tar -c ${PKGNAME} | bzip2 > ${PKGNAME}.tar.bz2
73        cd ${DISTDIR}; for tarball in ${PKGNAME}.tar.*; do { \
74                for type in -md5 -sha1 -ripemd160; do { \
75                        openssl dgst $$type $$tarball; \
76                }; done >> ${DISTNAME}.chk.txt; \
77        }; done
78
79_dopkg: _gettag _pkgdist
80
81# This target fetches a tagged distribution from svn, and generates tarballs and checksums for it
82distfromsvn:
83        @[ -n "${DISTVER}" ] || { echo Must specify DISTVER, like: make DISTVER=1.4.0 distfromsvn; exit 1; }
84        [ -d ${DISTDIR} ] || mkdir ${DISTDIR}
85        rm -f ${DISTDIR}/${DISTNAME}.chk.txt
86        ${MAKE} SVNTAG=${DISTTAG}/base/ PKGNAME=${DISTNAME} _dopkg
87ifeq ($(ARC),yes)
88        ${MAKE} SVNTAG=${DISTARCTAG} PKGNAME=${DISTARCNAME} _dopkg
89endif
90
91tcldoc:
92        @[ -e "${prefix}/bin/tcldoc" ] \
93                || { echo "Install tcldoc with MacPorts in ${prefix} first."; exit 1; }
94        find src -name '*.tcl' | xargs ${TCLDOC} --verbose --title "MacPorts Documentation" --force tcldoc
95
96tcldox:
97        @[ -e "${prefix}/bin/doxygen" -a -e "${prefix}/bin/tcl-dox" -a -e "${prefix}/bin/dot" ] \
98                || { echo "Install doxygen, tcl-dox and graphviz with MacPorts in ${prefix} first."; exit 1; }
99        ${prefix}/bin/doxygen
100
101test::
102
103.PHONY: dist _gettag _pkgdist _dopkg tcldoc tcldox
Note: See TracBrowser for help on using the repository browser.