1# Sun specific defines, passed to subdirectories.
2DEFS= -DBSD4_3 -DUSE_OLD_RQUOTA -DUSE_UFS_QUOTA_H -DUSE_MNTENT_H \
3	-DDLSYM_PREPEND_UNDERSCORE
4OPTOPTS=	-O
5CC=	gcc
6INSTALL=	install
7# use -lbind instead of -lresolv if you're using BIND >= 8.x
8AFPLIBS=-lresolv
9ADDLIBS=
10
11#CSHAREDFLAGS=   -pic
12CSHAREDFLAGS=   -fPIC
13
14#LDFLAGS_EXPORT=
15LDSHARED=	ld
16LDSHAREDFLAGS=  -assert pure-text
17LIBSHARED=      -ldl
18
19
20# source for kernel module
21SRC=	at_sun.c aarp.c at_control.c at_proto.c ddp_input.c ddp_output.c \
22	ddp_usrreq.c
23OBJ=	at_sun.o aarp.o at_control.o at_proto.o ddp_input.o ddp_output.o \
24	ddp_usrreq.o
25
26INCPATH = -I../../include -I../netatalk
27CFLAGS=	${DEFS} ${OPTOPTS} ${INCPATH}
28
29ALL=	../../libatalk ../../include ../../bin ../../etc ../../man
30
31all:	kernel ${ALL}
32
33kernel : netatalk.o
34
35netatalk.o:	${OBJ}
36	${LD} -r -o netatalk.o ${OBJ}
37
38at_sun.o:	at_sun.c
39	${CC} ${CFLAGS} -DKERNEL -D`arch -k` -c at_sun.c
40
41aarp.o:	../netatalk/aarp.c
42	${CC} ${CFLAGS} -DKERNEL -D`arch -k` -c ../netatalk/aarp.c
43
44at_control.o:	../netatalk/at_control.c
45	${CC} ${CFLAGS} -DKERNEL -D`arch -k` -c ../netatalk/at_control.c
46
47at_proto.o:	../netatalk/at_proto.c
48	${CC} ${CFLAGS} -DKERNEL -D`arch -k` -c ../netatalk/at_proto.c
49
50ddp_input.o:	../netatalk/ddp_input.c
51	${CC} ${CFLAGS} -DKERNEL -D`arch -k` -c ../netatalk/ddp_input.c
52
53ddp_output.o:	../netatalk/ddp_output.c
54	${CC} ${CFLAGS} -DKERNEL -D`arch -k` -c ../netatalk/ddp_output.c
55
56ddp_usrreq.o:	../netatalk/ddp_usrreq.c
57	${CC} ${CFLAGS} -DKERNEL -D`arch -k` -c ../netatalk/ddp_usrreq.c
58
59../../bin ../../etc:	../../libatalk
60
61${ALL}:	FRC
62	cd $@; ${MAKE} ${MFLAGS} CC="${CC}" \
63	    ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
64	    SBINDIR="${SBINDIR}" BINDIR="${BINDIR}" RESDIR="${RESDIR}" \
65	    ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
66	    AFPLIBS="${AFPLIBS}" LDSHARED="${LDSHARED}" \
67	    LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \
68	    LDSHAREDFLAGS="${LDSHAREDFLAGS}" CSHAREDFLAGS="${CSHAREDFLAGS}" \
69	    LIBSHARED="${LIBSHARED}" \
70	    all
71
72FRC:
73
74kinstall :	kernel
75	-mkdir ${DESTDIR}
76	-mkdir ${ETCDIR}
77	${INSTALL} -c netatalk.o ${ETCDIR}
78
79install :	kinstall
80	-mkdir ${DESTDIR}
81	-mkdir ${SBINDIR}
82	-mkdir ${BINDIR}
83	-mkdir ${ETCDIR}
84	-mkdir ${LIBDIR}
85	for i in ${ALL}; \
86	    do (cd $$i; ${MAKE} ${MFLAGS} CC="${CC}" \
87		ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
88	        SBINDIR="${SBINDIR}" BINDIR="${BINDIR}" RESDIR="${RESDIR}" \
89	        ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
90		DESTDIR="${DESTDIR}" MANDIR="${MANDIR}" AFPLIBS="${AFPLIBS}" \
91		AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \
92		LDSHARED="${LDSHARED}" LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \
93	  	LDSHAREDFLAGS="${LDSHAREDFLAGS}" \
94		CSHAREDFLAGS="${CSHAREDFLAGS}" LIBSHARED="${LIBSHARED}" \
95		INSTALL="${INSTALL}" $@); \
96	done
97	rm -f ${ETCDIR}/rc.atalk
98	sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${SBINDIR}@ \
99		-e s@:BINDIR:@${BINDIR}@ -e s@:RESDIR:@${RESDIR}@ \
100		-e s@:ETCDIR:@${ETCDIR}@ -e s@:LIBDIR:@${LIBDIR}@ \
101		-e s@:INCDIR:@${INCDIR}@ -e 's@^##@@' \
102	    < ../../distrib/initscripts/rc.atalk.bsd > ${ETCDIR}/rc.atalk
103	if [ -f ${ETCDIR}/afpd.conf ]; then \
104		echo "Retaining old afpd.conf file.";  \
105	else \
106		sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${SBINDIR}@ \
107			-e s@:BINDIR:@${BINDIR}@ -e s@:RESDIR:@${RESDIR}@ \
108			-e s@:ETCDIR:@${ETCDIR}@ -e s@:LIBDIR:@${LIBDIR}@ \
109			-e s@:INCDIR:@${INCDIR}@ \
110			< ../../config/afpd.conf > ${ETCDIR}/afpd.conf; \
111	fi
112	@echo
113	@echo "Install is done.  Don't forget to add lines from"
114	@echo "services.atalk to /etc/services and to call rc.atalk"
115	@echo "in /etc/rc.  See README and README.SUN for more"
116	@echo "information."
117
118clean : sysclean
119	for i in ${ALL}; \
120	    do (cd $$i; ${MAKE} ${MFLAGS} clean); \
121	done
122
123sysclean :
124	rm -f a.out core* *.o *.bak *[Ee]rrs tags
125	rm -f netatalk.o
126
127depend :
128	for i in ${ALL}; \
129	    do (cd $$i; ${MAKE} ${MFLAGS} DEFS=${DEFS} depend); \
130	done
131	for i in ${SRC} ; do \
132	    ${CC} -M ${DEFS} ${INCPATH} $$i | \
133	    awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
134		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
135		else rec = rec " " $$2 } } \
136		END { print rec } ' >> makedep; done
137	sed -n '1,/^# DO NOT DELETE THIS LINE/p' Makefile > Makefile.tmp
138	cat makedep >> Makefile.tmp
139	rm makedep
140	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile.tmp
141	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile.tmp
142	echo '# see make depend above' >> Makefile.tmp
143	rm -f Makefile.bak
144	cp Makefile Makefile.bak
145	mv Makefile.tmp Makefile
146
147# DO NOT DELETE THIS LINE
148
149