Use the shared PLIST on Solaris and remove Socket from the egrep -v.
[pkgsrcv2.git] / Makefile
1 # $NetBSD: Makefile,v 1.27 1999/10/22 00:54:23 hubertf Exp $
2 # FreeBSD Id: Makefile,v 1.35 1997/08/19 07:10:01 fenner Exp
3 #
4
5 .include "mk/bsd.prefs.mk"
6
7 .ifdef SPECIFIC_PKGS
8 SUBDIR+=        ${SITE_SPECIFIC_PKGS}
9 SUBDIR+=        ${HOST_SPECIFIC_PKGS}
10 SUBDIR+=        ${GROUP_SPECIFIC_PKGS}
11 SUBDIR+=        ${USER_SPECIFIC_PKGS}
12 .else
13 #SUBDIR += ai
14 SUBDIR += archivers
15 #SUBDIR += astro
16 SUBDIR += audio
17 SUBDIR += benchmarks
18 SUBDIR += biology
19 SUBDIR += cad
20 #SUBDIR += chinese
21 SUBDIR += comms
22 SUBDIR += converters
23 SUBDIR += corba
24 SUBDIR += cross
25 SUBDIR += databases
26 SUBDIR += devel
27 SUBDIR += editors
28 SUBDIR += emulators
29 SUBDIR += games
30 #SUBDIR += german
31 SUBDIR += graphics
32 SUBDIR += ham
33 SUBDIR += japanese
34 #SUBDIR += korean
35 SUBDIR += lang
36 SUBDIR += mail
37 SUBDIR += math
38 SUBDIR += mbone
39 SUBDIR += meta-pkgs
40 SUBDIR += misc
41 SUBDIR += net
42 SUBDIR += news
43 SUBDIR += parallel
44 SUBDIR += pkgtools
45 SUBDIR += plan9
46 SUBDIR += print
47 #SUBDIR += russian
48 SUBDIR += security
49 SUBDIR += shells
50 SUBDIR += sysutils
51 SUBDIR += textproc
52 #SUBDIR += vietnamese
53 SUBDIR += www
54 SUBDIR += x11
55 .endif
56
57 PKGSRCTOP=      yes
58
59 .include "mk/bsd.pkg.subdir.mk"
60
61 index:
62         @rm -f ${.CURDIR}/INDEX
63         @${MAKE} ${.CURDIR}/INDEX
64
65 ${.CURDIR}/INDEX:
66         @echo -n "Generating INDEX - please wait.."
67         @${MAKE} describe ECHO_MSG="echo > /dev/null" > ${.CURDIR}/INDEX
68         @echo " Done."
69
70 print-index:    ${.CURDIR}/INDEX
71         @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\nArch:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$10); }' < ${.CURDIR}/INDEX
72
73 search: ${.CURDIR}/INDEX
74 .if !defined(key)
75         @echo "The search target requires a keyword parameter,"
76         @echo "e.g.: \"${MAKE} search key=somekeyword\""
77 .else
78         @grep ${key} ${.CURDIR}/INDEX | 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\nArch:\t%s\n\n", $$1, $$2, $$4, $$6, $$7, $$8, $$9, $$10); }'
79 .endif
80
81
82
83 # Generate list of all packages by extracting information from
84 # the category/README.html pages
85 #
86 readme-all:
87         @[ -f README-all.html ] && mv README-all.html README-all.html.BAK
88         @${MAKE} README-all.html
89         @if cmp -s README-all.html README-all.html.BAK  ; then \
90                 mv README-all.html.BAK README-all.html ; \
91         else \
92                 rm -f README-all.html.BAK ; \
93         fi
94
95 README-all.html:
96         @rm -f $@.new
97         @rm -f $@.newsorted
98         @echo -n "Processing categories for $@:"
99 .for category in ${SUBDIR}
100         @if [ -f ${category}/README.html ]; then \
101                 echo -n ' ${category}' ; \
102                 grep '^<TR>' ${category}/README.html \
103                 | sed -e 's|"|"${category}/|' \
104                       -e 's| <TD>| <TD>(<A HREF="${category}/README.html">${category}</A>) <TD>|' \
105                       -e 's|<TR>|<TR VALIGN=TOP>|' \
106                       -e 's|<TD VALIGN=TOP>|<TD>|' \
107                 >> $@.new ; \
108         fi
109 .endfor
110         @echo "."
111         @sort -f -t '">' +2 <$@.new >$@.newsorted
112         @wc -l $@.newsorted | awk '{ print $$1 }'  >$@.npkgs
113         @cat templates/README.all \
114         | ${SED} \
115                 -e '/%%NPKGS%%/r$@.npkgs' \
116                 -e '/%%NPKGS%%/d' \
117                 -e '/%%PKGS%%/r$@.newsorted' \
118                 -e '/%%PKGS%%/d' \
119                 > $@ 
120         @rm -f $@.npkgs
121         @rm -f $@.new
122         @rm -f $@.newsorted