-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile
125 lines (108 loc) · 3.9 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# $FabBSD$
# $OpenBSD: Makefile,v 1.60 2008/07/04 15:43:39 sturm Exp $
# $FreeBSD: Makefile,v 1.36 1997/10/04 15:54:31 jkh Exp $
PKGPATH =
MIRROR_MK ?= ${.CURDIR}/distfiles/Makefile
PORTSTOP ?= yes
DISTFILES_DB ?= ${.CURDIR}/infrastructure/db/locate.database
.if defined(SUBDIR)
# nothing to do
.elif defined(key) || defined(name) || defined(category) || defined(author)
# set up subdirs from the index, assume it's up-to-date
_CMD = perl ${.CURDIR}/infrastructure/build/index-retrieve index='${.CURDIR}/INDEX'
. if defined(key)
_CMD += key='${key}'
. endif
. if defined(name)
_CMD += maintainer='${name}'
. endif
. if defined(category)
_CMD += category='${category}'
. endif
. if defined(maintainer)
_CMD += maintainer='${maintainer}'
. endif
SUBDIR != ${_CMD}
.elif defined(SUBDIRLIST)
SUBDIR != sed -e 's,[ ]*\#.*,,' -e '/^[ ]*$$/d' ${SUBDIRLIST}
.else
SUBDIR += archivers
SUBDIR += benchmarks
SUBDIR += cad
SUBDIR += chinese
SUBDIR += comms
SUBDIR += converters
SUBDIR += databases
SUBDIR += devel
SUBDIR += editors
SUBDIR += graphics
SUBDIR += inputmethods
SUBDIR += japanese
SUBDIR += lang
SUBDIR += math
SUBDIR += misc
SUBDIR += net
SUBDIR += russian
SUBDIR += security
SUBDIR += shells
SUBDIR += sysutils
SUBDIR += textproc
.endif
.include <bsd.port.subdir.mk>
index:
@rm -f ${.CURDIR}/INDEX
@${MAKE} ${.CURDIR}/INDEX
${.CURDIR}/INDEX:
@echo "Generating INDEX..."
@${MAKE} describe MACHINE_ARCH=i386 ECHO_MSG="echo 1>&2" > ${.CURDIR}/INDEX
@echo "Done."
print-index: ${.CURDIR}/INDEX
@awk -F\| '{ printf("Port:\t%s\nPath:\t%s\nInfo:\t%s\nMaint:\t%s\nIndex:\t%s\nL-deps:\t%s\nB-deps:\t%s\nR-deps:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$10); }' < ${.CURDIR}/INDEX
print-licenses: ${.CURDIR}/INDEX
@printf "Port PC PF DC DF Maint\n"
@awk -F\| '{printf("%-40.39s%-3.2s%-3.2s%-3.2s%-3.2s%-25.25s\n",$$2,$$12,$$13,$$14,$$15,$$6);}' < ${.CURDIR}/INDEX
search: ${.CURDIR}/INDEX
.if !defined(key) && !defined(name)
@echo "The search target requires a keyword or name parameter,"
@echo "e.g.: \"make search key=somekeyword\" \"make search name=somename\""
.else
. if defined(key)
@egrep -i -- "${key}" ${.CURDIR}/INDEX | awk -F\| '{ printf("Port:\t%s\nPath:\t%s\nInfo:\t%s\nMaint:\t%s\nIndex:\t%s\nL-deps:\t%s\nB-deps:\t%s\nR-deps:\t%s\nArchs:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$10, $$11); }'
. else
@awk -F\| '$$1 ~ /${name}/ { printf("Port:\t%s\nPath:\t%s\nInfo:\t%s\nMaint:\t%s\nIndex:\t%s\nL-deps:\t%s\nB-deps:\t%s\nR-deps:\t%s\nArchs:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$10, $$11); }' ${.CURDIR}/INDEX
. endif
.endif
LOCKDIR ?=
mirror-maker:
@mkdir -p ${MIRROR_MK:H}
.if !empty(LOCKDIR)
@echo "EXEC = " >${MIRROR_MK}
@echo 'LOCKDIR = ${LOCKDIR}' >>${MIRROR_MK}
@echo 'PORTSDIR = ${PORTSDIR}' >>${MIRROR_MK}
@echo 'LOCK_CMD = perl $${PORTSDIR}/infrastructure/build/dolock' >>${MIRROR_MK}
@echo 'UNLOCK_CMD = rm -f' >>${MIRROR_MK}
@echo 'SIMPLE_LOCK = $${LOCK_CMD} $${LOCKDIR}/$$$$lock.lock; trap "$${UNLOCK_CMD} $${LOCKDIR}/$$$$lock.lock" 0 1 2 3 13 15' >>${MIRROR_MK}
.else
@echo "EXEC = exec" >${MIRROR_MK}
@echo 'SIMPLE_LOCK = :' >>${MIRROR_MK}
.endif
@echo '' >>${MIRROR_MK}
@echo "default:: ftp cdrom" >>${MIRROR_MK}
@echo ".PHONY: default all ftp cdrom" >>${MIRROR_MK}
@_DONE_FILES=`mktemp /tmp/depends.XXXXXXXXX|| exit 1`; \
export _DONE_FILES; \
trap "rm -f $${_DONE_FILES}" 0 1 2 3 13 15; \
${MAKE} fetch-makefile \
ECHO_MSG='echo >&2' \
_FETCH_MAKEFILE=${MIRROR_MK}
homepages.html:
@echo '<html><ul>' >$@
@${MAKE} homepage-links ECHO_MSG='echo >&2' >>$@
@echo '</ul></html>' >>$@
distfiles-update-locatedb:
@PORTSDIR=${.CURDIR} /bin/sh ${.CURDIR}/infrastructure/fetch/distfiles-update-locatedb ${DISTFILES_DB}
pkglocatedb:
@pkg_mklocatedb -d ${.CURDIR}/packages/${MACHINE_ARCH}/all/ \
>${.CURDIR}/packages/${MACHINE_ARCH}/ftp/pkglocatedb
.PHONY: mirror-maker index search distfiles-update-locatedb \
pkglocatedb print-licenses print-index