ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/mports/trunk/Makefile
Revision: 22252
Committed: Sat Jan 28 22:59:06 2017 UTC (7 years, 3 months ago) by laffer1
File size: 5238 byte(s)
Log Message:
teach makefile how to find svn binary

File Contents

# User Rev Content
1 laffer1 15456 # $MidnightBSD$
2 archite 2
3 wintellect 74 SUBDIR += accessibility
4 laffer1 20 SUBDIR += archivers
5 laffer1 920 SUBDIR += astro
6 laffer1 151 SUBDIR += audio
7 wintellect 658 SUBDIR += benchmarks
8 wintellect 709 SUBDIR += comms
9 archite 2 SUBDIR += converters
10 laffer1 15681 SUBDIR += core
11 laffer1 294 SUBDIR += databases
12 laffer1 782 SUBDIR += deskutils
13 archite 2 SUBDIR += devel
14 wintellect 273 SUBDIR += dns
15 laffer1 167 SUBDIR += editors
16 laffer1 155 SUBDIR += emulators
17 laffer1 2697 SUBDIR += finance
18 laffer1 369 SUBDIR += ftp
19 laffer1 335 SUBDIR += games
20 archite 2 SUBDIR += graphics
21     SUBDIR += irc
22 laffer1 369 SUBDIR += java
23 archite 2 SUBDIR += lang
24 laffer1 167 SUBDIR += mail
25 laffer1 116 SUBDIR += math
26 archite 10 SUBDIR += misc
27 wintellect 310 SUBDIR += multimedia
28 laffer1 688 SUBDIR += net
29 archite 2 SUBDIR += net-im
30 laffer1 630 SUBDIR += net-mgmt
31 wintellect 404 SUBDIR += net-p2p
32 wintellect 475 SUBDIR += news
33 laffer1 782 SUBDIR += palm
34 laffer1 862 SUBDIR += ports-mgmt
35 archite 2 SUBDIR += print
36 laffer1 7074 SUBDIR += science
37 archite 8 SUBDIR += security
38 laffer1 103 SUBDIR += shells
39 archite 6 SUBDIR += sysutils
40 archite 2 SUBDIR += textproc
41     SUBDIR += www
42     SUBDIR += x11
43 wintellect 266 SUBDIR += x11-clocks
44 laffer1 3114 SUBDIR += x11-drivers
45 laffer1 17103 SUBDIR += x11-fm
46 laffer1 151 SUBDIR += x11-fonts
47     SUBDIR += x11-servers
48 laffer1 161 SUBDIR += x11-themes
49 wintellect 80 SUBDIR += x11-toolkits
50 archite 5 SUBDIR += x11-wm
51 archite 2
52     PORTSTOP= yes
53    
54     .include <bsd.port.subdir.mk>
55    
56     index:
57     @rm -f ${INDEXDIR}/${INDEXFILE}
58 laffer1 22252 @cd ${.CURDIR} && ${MAKE} ${INDEXDIR}/${INDEXFILE}
59 archite 2
60 laffer1 4565 indexbz2: index
61 laffer1 4568 @rm -f ${INDEXDIR}/${INDEXFILE}.bz2
62 laffer1 4565 @bzip2 ${INDEXDIR}/${INDEXFILE}
63    
64 laffer1 17103 fetchindex: ${INDEXDIR}/${INDEXFILE}.bz2
65 archite 2 @bunzip2 < ${INDEXDIR}/${INDEXFILE}.bz2 > ${INDEXDIR}/${INDEXFILE} && \
66 laffer1 17103 chmod a+r ${INDEXDIR}/${INDEXFILE} && ${RM} -f ${INDEXDIR}/${INDEXFILE}.bz2
67 archite 2
68 laffer1 17103 ${INDEXDIR}/${INDEXFILE}.bz2: .PHONY
69 archite 2 @${FETCHINDEX} ${INDEXDIR}/${INDEXFILE}.bz2 ${MASTER_SITE_INDEX}${INDEXFILE}.bz2
70    
71 laffer1 289 MASTER_SITE_INDEX?= http://www.MidnightBSD.org/ports/
72 archite 2 SETENV?= /usr/bin/env
73     FETCHINDEX?= ${SETENV} ${FETCH_ENV} fetch -am -o
74    
75 laffer1 17103 .if !defined(INDEX_JOBS)
76     INDEX_JOBS!= ${SYSCTL} -n kern.smp.cpus
77     .endif
78    
79 archite 2 .if !defined(INDEX_VERBOSE)
80 laffer1 17103 INDEX_ECHO_MSG= true
81 archite 2 INDEX_ECHO_1ST= echo -n
82     .else
83     INDEX_ECHO_MSG= echo 1>&2
84     INDEX_ECHO_1ST= echo
85     .endif
86    
87 laffer1 17103 # /rescue/sh is statically linked and much faster to execute than the
88     # dynamically linked /bin/sh. This is significant for targets like
89     # make index that execute the shell tens of thousands of times.
90     .if exists(/rescue/sh)
91     INDEX_SHELL= /rescue/sh
92     .else
93     INDEX_SHELL= /bin/sh
94     .endif
95    
96     .if !defined(INDEX_PORTS)
97     INDEX_PORTS=.
98     .endif
99    
100     .if exists(/usr/libexec/make_index)
101     MAKE_INDEX= /usr/libexec/make_index /dev/stdin
102     .else
103     MAKE_INDEX= perl ${.CURDIR}/Tools/make_index
104     .endif
105    
106 archite 2 ${INDEXDIR}/${INDEXFILE}:
107     @${INDEX_ECHO_1ST} "Generating ${INDEXFILE} - please wait.."; \
108     if [ "${INDEX_PRISTINE}" != "" ]; then \
109     export LOCALBASE=/nonexistentlocal; \
110     fi; \
111     tmpdir=`/usr/bin/mktemp -d -t index` || exit 1; \
112     trap "rm -rf $${tmpdir}; exit 1" 1 2 3 5 10 13 15; \
113 laffer1 17103 ( cd ${.CURDIR}; for i in ${INDEX_PORTS}; do (cd $${i} && ${MAKE} -j${INDEX_JOBS} INDEX_TMPDIR=$${tmpdir} BUILDING_INDEX=1 \
114     __MAKE_SHELL=${INDEX_SHELL} \
115     ECHO_MSG="${INDEX_ECHO_MSG}" describe); done ) || \
116 archite 2 (rm -rf $${tmpdir} ; \
117     if [ "${INDEX_QUIET}" = "" ]; then \
118     echo; \
119     echo "********************************************************************"; \
120     echo "Before reporting this error, verify that you are running a supported"; \
121 laffer1 15358 echo "version of MidnightBSD (see http://www.MidnightBSD.org/ports/) "; \
122     echo "and that you have a complete and up-to-date ports collection. "; \
123 archite 2 echo; \
124     echo "********************************************************************"; \
125     echo; \
126     fi; \
127     exit 1); \
128 laffer1 17103 cat $${tmpdir}/${INDEXFILE}.desc.* | \
129     sed -e 's|${.CURDIR}|${PORTSDIR}|g' | \
130     (cd ${.CURDIR} ; ${MAKE_INDEX}) | \
131 archite 2 sed -e 's/ */ /g' -e 's/| */|/g' -e 's/ *|/|/g' -e 's./..g' | \
132     sort -t '|' +1 -2 | \
133 laffer1 17103 sed -Ee 's../.g' -e ':a' -e 's|/[^/]+/\.\.||; ta' \
134     -e 's|${PORTSDIR}|/usr/mports|g' \
135     -e 's|${.CURDIR}|/usr/mports|g' > ${INDEXDIR}/${INDEXFILE}.tmp; \
136 archite 2 if [ "${INDEX_PRISTINE}" != "" ]; then \
137 laffer1 17103 sed -e "s,$${LOCALBASE},/usr/local," ${INDEXDIR}/${INDEXFILE}.tmp > ${INDEXDIR}/${INDEXFILE}; \
138 archite 2 else \
139     mv ${INDEXDIR}/${INDEXFILE}.tmp ${INDEXDIR}/${INDEXFILE}; \
140     fi; \
141     rm -rf $${tmpdir}; \
142     echo " Done."
143    
144     print-index: ${INDEXDIR}/${INDEXFILE}
145     @awk -F\| '{ printf("Port:\t%s\nPath:\t%s\nInfo:\t%s\nMaint:\t%s\nIndex:\t%s\nB-deps:\t%s\nR-deps:\t%s\nE-deps:\t%s\nP-deps:\t%s\nF-deps:\t%s\nWWW:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$11, $$12, $$13, $$10); }' < ${INDEXDIR}/${INDEXFILE}
146    
147 laffer1 17103 GIT?= git
148 laffer1 22252 .if !defined(SVN) || empty(SVN)
149     . for _P in /usr/bin /usr/local/bin
150     . for _S in svn svnlite
151     . if exists(${_P}/${_S})
152     SVN= ${_P}/${_S}
153     . endif
154     . endfor
155     . endfor
156     .endif
157 laffer1 17103 RSYNC?= rsync
158     .if !target(update)
159 archite 2 update:
160 laffer1 17103 .if exists(${.CURDIR}/.svn)
161 archite 2 @echo "--------------------------------------------------------------"
162 laffer1 17103 @echo ">>> Updating ${.CURDIR} using Subversion"
163 archite 2 @echo "--------------------------------------------------------------"
164 laffer1 17103 cd ${.CURDIR}; ${SVN} update
165     .elif exists(${.CURDIR}/.git)
166 archite 2 @echo "--------------------------------------------------------------"
167 laffer1 17103 @echo ">>> Updating ${.CURDIR} from git+svn repository"
168 archite 2 @echo "--------------------------------------------------------------"
169 laffer1 17103 cd ${.CURDIR}; ${GIT} svn rebase
170     .elif defined(RSYNC_UPDATE) && defined(PORTS_RSYNC_SOURCE)
171     @echo "--------------------------------------------------------------"
172     @echo ">>> Updating with ${RSYNC} from ${PORTS_RSYNC_SOURCE}"
173     @echo "--------------------------------------------------------------"
174     @${RSYNC} ${RSYNC_FLAGS} ${PORTS_RSYNC_SOURCE}/ ${.CURDIR}/
175 archite 2 .endif
176 laffer1 17103 .endif

Properties

Name Value
svn:keywords MidnightBSD=%H