File: Makefile

package info (click to toggle)
sup 20060803-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 496 kB
  • ctags: 680
  • sloc: ansic: 8,166; makefile: 92
file content (155 lines) | stat: -rw-r--r-- 5,360 bytes parent folder | download
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#	$NetBSD: Makefile,v 1.24 2006/04/02 01:39:48 christos Exp $
# Copyright (c) 1992,1991 Carnegie Mellon University
# All Rights Reserved.
# 
# Permission to use, copy, modify and distribute this software and its
# documentation is hereby granted, provided that both the copyright
# notice and this permission notice appear in all copies of the
# software, derivative works or modified versions, and any portions
# thereof, and that both notices appear in supporting documentation.
#
# CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
# CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
# ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
#
# Carnegie Mellon requests users of this software to return to
#
#  Software Distribution Coordinator   or   Software.Distribution@CS.CMU.EDU
#  School of Computer Science
#  Carnegie Mellon University
#  Pittsburgh PA 15213-3890
#
# any improvements or extensions that they make and grant Carnegie the rights
# to redistribute these changes.
######################################################################
# Makefile to build sup (the client side), supfilesrv (the repository
# side, and supscan (used by the repository. If you only want to sup
# files from CMU, just build sup.
# The header files: c.h and libc.h are only
# necessary if you are compiling on a non-Mach system. Likewise the
# files in libextra.a are normally found in libcs.a on a Mach system.
# DOPRINT_VA is used by vprintf.c and should be defined if your version
# of libc/doprnt.c defines the routine _doprnt_va. If it defines _doprnt
# instead, leave DORPINT_VA undefined.
######################################################################
#
# If you need to build a sup for export outside of North America use
# 	"make EXPORTABLE_SYSTEM=true"
# this will remove (not use) any vestiges of crypt code that is present
# on the system.
#
# If you have crypt/crypt.c and /usr/lib/libcrypt.a, you will be building
# a system that uses the SUP crypt mechanism by default.
#
# If building on non 4.4BSD systems, you'll need the vis(3) and the daemon(3)
# functions from libc and libutil

#SITE			= SUNOS
#SITE			= SOLARIS
#SITE			= NETBSD
#SITE			= CMUCS
SITE1			!= uname -s | tr '[a-z]' '[A-Z]'
SITE2			=$(shell uname -s | tr '[a-z]' '[A-Z]')
SITE			= ${SITE1}${SITE2}
TARDIR			= sup-0.0

LINUX_DEFINES		= -UMACH -DVAR_TMP -DHAS_DAEMON -DHAS_POSIX_DIR
NETBSD_DEFINES		= -UMACH -DVAR_TMP -DHAS_DAEMON -DHAS_POSIX_DIR \
			    -DHAS_FPARSELN -DHAS_FGETLN -DHAS_VIS
SOLARIS_DEFINES		= -UMACH -DVAR_TMP -DHAS_POSIX_DIR -DNEED_VSNPRINTF
AFS_DEFINES		= -DAFS -I/usr/afsws/include
OSF_DEFINES		= -UMACH -DOSF -D_BSD -noshrlib -g -DNEED_VSNPRINTF \
			    -DVAR_TMP
SUNOS_DEFINES		= -UMACH -D_BSD -DNEED_VSNPRINTF -DVAR_TMP \
			    -DHAS_POSIX_DIR -DHAS_DAEMON -DNEED_DAEMON
CMUCS_DEFINES		= -DMACH -DDOPRINT_VA -DNEED_VPRINTF
NON_MACH_DEFINES	= -UMACH


#INSTALLATION PARAMETERS
PREFIX		       ?= /usr/local/
NETBSD_BINDIR		= ${PREFIX}/sbin
NETBSD_MAN1		= ${PREFIX}/man/man1
NETBSD_MAN8		= ${PREFIX}/man/man8

CFLAGS			= ${DEFS} -O -I.

SUPCL			= supcmain.o supcvers.o supcparse.o supcname.o \
			  supcmisc.o supcmeat.o
SUPS			= scm.o scmio.o stree.o log.o supmsg.o netcrypt.o
EXTRA			= atoo.o errmsg.o expand.o ffilecopy.o filecopy.o \
			  nxtarg.o path.o quit.o read_line.o run.o estrdup.o \
			  skipto.o vprintf.o


PROGRAMS		= sup supscan supfilesrv
MAN1			= sup.1
MAN8			= supservers.8

AFS_LIBPATH		= /usr/afs/lib
AFS_LIBS		= -L${AFS_LIBPATH}/afs -lkauth -lprot -L${AFS_LIBPATH} -lubik -lauth -lrxkad -lsys -ldes -lrx -llwp -lcmd -lcom_err -lc ${AFS_LIBPATH}/afs/util.a

NETBSD_LIBS		= -lcrypt
LINUX_LIBS		= -lcrypt
CMUCS_LIBS		= -lsys
OSF_LIBS		= -lbsd
EXTRALIBS		= libextra.a
sup_OFILES		= ${SUPCL} ${SUPS}
supfilesrv_OFILES	= supfilesrv.o scan.o ${SUPS}
supfilesrv_LIBS		= libextra.a 
supscan_OFILES		= supscan.o stree.o scan.o
SOLARIS_LIBS		= -lsocket -lnsl
SUNOS_LIBS		= 

DEFS			= -UCMUCS -UCMU  ${${SITE}_DEFINES}
LIBS			= ${EXTRALIBS}

all: ${PROGRAMS}

sup: ${sup_OFILES} ${LIBS}
	${CC} ${CFLAGS} -o sup ${sup_OFILES} ${LIBS} ${${SITE}_LIBS}

supfilesrv: ${supfilesrv_OFILES} ${supfilesrv_LIBS}
	${CC} ${CFLAGS} -o supfilesrv ${supfilesrv_OFILES} ${supfilesrv_LIBS} ${LIBS} ${${SITE}_LIBS}

supscan:  ${supscan_OFILES} ${LIBS}
	${CC} ${CFLAGS} -o supscan ${supscan_OFILES} ${LIBS} ${${SITE}_LIBS}

libextra.a: ${EXTRA}
	ar r libextra.a $?
	ranlib libextra.a

clean cleandir distclean:
	rm -f ${PROGRAMS} libextra.a netcrypt.c *.o core a.out

install: ${PROGRAMS}
	install -cs -m 555 -o bin -g bin ${PROGRAMS} ${NETBSD_BINDIR}
	install -c -m 444 -o bin -g bin ${MAN1} ${NETBSD_MAN1}
	install -c -m 444 -o bin -g bin ${MAN8} ${NETBSD_MAN8}

netcrypt.c:
	@echo "[ Using netcryptvoid.c ]"
	cp netcryptvoid.c netcrypt.c

tar:
	mkdir ${TARDIR} ${TARDIR}/sys
	cp -p *.[ch18] Makefile ${TARDIR}
	cp -p sys/*.h ${TARDIR}/sys
	tar -czf ${TARDIR}.tar.gz ${TARDIR}
	rm -fr ${TARDIR}

read_line.o: supextern.h
scan.o:	sup.h
scm.o:	sup.h
scmio.o: sup.h supmsg.h
stree.o: sup.h
supcmain.o: sup.h supmsg.h supcdefs.h
supcmeat.o: sup.h supmsg.h supcdefs.h
supcmisc.o: sup.h supmsg.h supcdefs.h
supcname.o: sup.h supmsg.h supcdefs.h
supcparse.o: sup.h supmsg.h supcdefs.h
supfilesrv.o: sup.h supmsg.h
supmsg.o: sup.h supmsg.h
supscan.o: sup.h
netcryptvoid.o: sup.h supmsg.h
netcrypt.o: sup.h supmsg.h