1 |
# $MidnightBSD: mports/Makefile,v 1.28 2007/01/20 11:18:16 wintellect Exp $ |
2 |
# |
3 |
|
4 |
SUBDIR += accessibility |
5 |
SUBDIR += archivers |
6 |
SUBDIR += audio |
7 |
SUBDIR += benchmarks |
8 |
SUBDIR += comms |
9 |
SUBDIR += converters |
10 |
SUBDIR += databases |
11 |
SUBDIR += deskutils |
12 |
SUBDIR += devel |
13 |
SUBDIR += dns |
14 |
SUBDIR += editors |
15 |
SUBDIR += emulators |
16 |
SUBDIR += ftp |
17 |
SUBDIR += games |
18 |
SUBDIR += german |
19 |
SUBDIR += graphics |
20 |
SUBDIR += irc |
21 |
SUBDIR += java |
22 |
SUBDIR += lang |
23 |
SUBDIR += mail |
24 |
SUBDIR += math |
25 |
SUBDIR += misc |
26 |
SUBDIR += multimedia |
27 |
SUBDIR += net |
28 |
SUBDIR += net-im |
29 |
SUBDIR += net-mgmt |
30 |
SUBDIR += net-p2p |
31 |
SUBDIR += news |
32 |
SUBDIR += palm |
33 |
SUBDIR += print |
34 |
SUBDIR += security |
35 |
SUBDIR += shells |
36 |
SUBDIR += sysutils |
37 |
SUBDIR += textproc |
38 |
SUBDIR += www |
39 |
SUBDIR += x11 |
40 |
SUBDIR += x11-clocks |
41 |
SUBDIR += x11-fonts |
42 |
SUBDIR += x11-fm |
43 |
SUBDIR += x11-servers |
44 |
SUBDIR += x11-themes |
45 |
SUBDIR += x11-toolkits |
46 |
SUBDIR += x11-wm |
47 |
|
48 |
PORTSTOP= yes |
49 |
|
50 |
.include <bsd.port.subdir.mk> |
51 |
|
52 |
index: |
53 |
@rm -f ${INDEXDIR}/${INDEXFILE} |
54 |
@cd ${.CURDIR} && make ${INDEXDIR}/${INDEXFILE} |
55 |
|
56 |
fetchindex: ${INDEXDIR}/{INDEXFILE}.bz2 |
57 |
@bunzip2 < ${INDEXDIR}/${INDEXFILE}.bz2 > ${INDEXDIR}/${INDEXFILE} && \ |
58 |
chmod a+r ${INDEXDIR}/${INDEXFILE} |
59 |
|
60 |
${INDEXDIR}/{INDEXFILE}.bz2: .PHONY |
61 |
@${FETCHINDEX} ${INDEXDIR}/${INDEXFILE}.bz2 ${MASTER_SITE_INDEX}${INDEXFILE}.bz2 |
62 |
|
63 |
MASTER_SITE_INDEX?= http://www.MidnightBSD.org/ports/ |
64 |
SETENV?= /usr/bin/env |
65 |
FETCHINDEX?= ${SETENV} ${FETCH_ENV} fetch -am -o |
66 |
INDEX_JOBS?= 2 |
67 |
|
68 |
.if !defined(INDEX_VERBOSE) |
69 |
INDEX_ECHO_MSG= echo > /dev/null |
70 |
INDEX_ECHO_1ST= echo -n |
71 |
.else |
72 |
INDEX_ECHO_MSG= echo 1>&2 |
73 |
INDEX_ECHO_1ST= echo |
74 |
.endif |
75 |
|
76 |
${INDEXDIR}/${INDEXFILE}: |
77 |
@${INDEX_ECHO_1ST} "Generating ${INDEXFILE} - please wait.."; \ |
78 |
if [ "${INDEX_PRISTINE}" != "" ]; then \ |
79 |
export LOCALBASE=/nonexistentlocal; \ |
80 |
export X11BASE=/nonexistentx; \ |
81 |
fi; \ |
82 |
tmpdir=`/usr/bin/mktemp -d -t index` || exit 1; \ |
83 |
trap "rm -rf $${tmpdir}; exit 1" 1 2 3 5 10 13 15; \ |
84 |
( cd ${.CURDIR} && make -j${INDEX_JOBS} INDEX_TMPDIR=$${tmpdir} BUILDING_INDEX=1 \ |
85 |
ECHO_MSG="${INDEX_ECHO_MSG}" describe ) || \ |
86 |
(rm -rf $${tmpdir} ; \ |
87 |
if [ "${INDEX_QUIET}" = "" ]; then \ |
88 |
echo; \ |
89 |
echo "********************************************************************"; \ |
90 |
echo "Before reporting this error, verify that you are running a supported"; \ |
91 |
echo "version of MidnightBSD (see http://www.MidnightBSD.org/ports/) and that you"; \ |
92 |
echo "have a complete and up-to-date ports collection. (INDEX builds are"; \ |
93 |
echo "not supported with partial or out-of-date ports collections -- in"; \ |
94 |
echo "particular, if you are using cvsup, you must cvsup the \"ports-all\""; \ |
95 |
echo "collection, and have no \"refuse\" files.) If that is the case, then"; \ |
96 |
echo "report the failure to ports@MidnightBSD.org together with relevant"; \ |
97 |
echo "details of your ports configuration (including MidnightBSD version,"; \ |
98 |
echo "your architecture, your environment, and your /etc/make.conf"; \ |
99 |
echo "settings, especially compiler flags and WITH/WITHOUT settings)."; \ |
100 |
echo; \ |
101 |
echo "Note: the latest pre-generated version of INDEX may be fetched"; \ |
102 |
echo "automatically with \"make fetchindex\"."; \ |
103 |
echo "********************************************************************"; \ |
104 |
echo; \ |
105 |
fi; \ |
106 |
exit 1); \ |
107 |
cat $${tmpdir}/${INDEXFILE}.desc.* | (cd ${.CURDIR} ; perl ${.CURDIR}/Tools/make_index) | \ |
108 |
sed -e 's/ */ /g' -e 's/| */|/g' -e 's/ *|/|/g' -e 's./..g' | \ |
109 |
sort -t '|' +1 -2 | \ |
110 |
sed -e 's../.g' > ${INDEXDIR}/${INDEXFILE}.tmp; \ |
111 |
if [ "${INDEX_PRISTINE}" != "" ]; then \ |
112 |
sed -e "s,$${LOCALBASE},/usr/local," -e "s,$${X11BASE},/usr/X11R6," \ |
113 |
${INDEXDIR}/${INDEXFILE}.tmp > ${INDEXDIR}/${INDEXFILE}; \ |
114 |
else \ |
115 |
mv ${INDEXDIR}/${INDEXFILE}.tmp ${INDEXDIR}/${INDEXFILE}; \ |
116 |
fi; \ |
117 |
rm -rf $${tmpdir}; \ |
118 |
echo " Done." |
119 |
|
120 |
print-index: ${INDEXDIR}/${INDEXFILE} |
121 |
@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} |
122 |
|
123 |
CVS?= cvs |
124 |
SUP?= cvsup |
125 |
PORTSNAP?= portsnap |
126 |
PORTSNAP_FLAGS?= -p ${.CURDIR} |
127 |
.if defined(SUPHOST) |
128 |
SUPFLAGS+= -h ${SUPHOST} |
129 |
.endif |
130 |
update: |
131 |
.if defined(PORTSNAP_UPDATE) |
132 |
@echo "--------------------------------------------------------------" |
133 |
@echo ">>> Running ${PORTSNAP}" |
134 |
@echo "--------------------------------------------------------------" |
135 |
@${PORTSNAP} ${PORTSNAP_FLAGS} fetch |
136 |
@${PORTSNAP} ${PORTSNAP_FLAGS} update |
137 |
.elif defined(SUP_UPDATE) && defined(PORTSSUPFILE) |
138 |
@echo "--------------------------------------------------------------" |
139 |
@echo ">>> Running ${SUP}" |
140 |
@echo "--------------------------------------------------------------" |
141 |
@${SUP} ${SUPFLAGS} ${PORTSSUPFILE} |
142 |
.elif defined(CVS_UPDATE) |
143 |
@echo "--------------------------------------------------------------" |
144 |
@echo ">>> Updating ${.CURDIR} from cvs repository" ${CVSROOT} |
145 |
@echo "--------------------------------------------------------------" |
146 |
cd ${.CURDIR}; ${CVS} -R -q update -A -P -d -I! |
147 |
.elif defined(SUP_UPDATE) && !defined(PORTSSUPFILE) |
148 |
@${ECHO_MSG} "Error: Please define PORTSSUPFILE before doing make update." |
149 |
@exit 1 |
150 |
.else |
151 |
@${ECHO_MSG} "Error: Please define either PORTSNAP_UPDATE, SUP_UPDATE, or CVS_UPDATE first." |
152 |
.endif |