]> arthur.barton.de Git - netatalk.git/blob - sys/solaris/Makefile.kernel
611afd4baecb4e4063453c61d8da7640853eba16
[netatalk.git] / sys / solaris / Makefile.kernel
1 # Solaris specific defines, passed to subdirectories.
2 # To use Sun CC, uncomment the CC and KFLAGS variables.
3
4 # uncomment for 64-bit sparc kernel
5 #SPARC64=true
6
7 # solaris has -lcrypt, but we shouldn't use it. this may only be true 
8 # for solaris 2.5.1
9 USE_CRYPTLIB=no
10
11 # use gcc (gcc-2.95 on 64-bit sparc)
12 CC=             gcc
13 LD=             ld
14 KCFLAGS=        -D_KERNEL -Wall -Wstrict-prototypes ${KGCCFLAGS} # -mcpu=ultrasparc
15 OPTOPTS=        -O
16 CSHAREDFLAGS=   -fPIC
17 LDSHARED=       ${CC}
18 LDSHAREDFLAGS=  -shared
19
20 # use Sun CC (for a 64-bit kernel, uncomment " -xarch=v9 -xregs=no%appl ") 
21 #CC=            cc
22 #KCFLAGS=       -D_KERNEL # -xarch=v9 -xregs=no%appl 
23 #OPTOPTS=       -fast -xO5 -xstrconst
24 #CSHAREDFLAGS=   -KPIC
25 #LDSHARED=       cc
26 #LDSHAREDFLAGS=  -G
27 #LDFLAGS_EXPORT=
28
29 LIBSHARED=      -ldl
30
31 # -D_ISOC9X_SOURCE is handled by OSVERSION. basically, it's not needed
32 # with 2.5.1.
33 # add -DHAVE_IFNAMEINDEX if you're using solaris 8.
34 DEFS=   -DNO_STRUCT_TM_GMTOFF -D__svr4__ -DSOLARIS -I../../sys/generic \
35         -I.. ${OSDEFS} ${MACHINEDEFS}
36 INSTALL=        /usr/ucb/install
37 AFPLIBS=
38 ADDLIBS=        -lsocket -lnsl
39
40 # Local build stuff.
41
42 SRC= linkage.c tpi.c dlpi.c ioc.c if.c aarp.c ddp.c sock.c rt.c
43 OBJ= linkage.o tpi.o dlpi.o ioc.o if.o aarp.o ddp.o sock.o rt.o
44 HEADERS= if.h ioc.h rt.h sock.h
45 EXTRA_DIST= ddp.conf Makefile
46
47 INCPATH=        -I../../include -I../netatalk -I../..
48 CFLAGS= ${DEFS} ${OPTOPTS} ${INCPATH} ${KCFLAGS} 
49
50 ALL=    ../../libatalk ../../include ../../bin ../../etc ../../man
51
52 oops:
53         @echo "Read README again.  Don't type 'make' here."
54         @exit 1
55
56 all :   kernel ${ALL}
57
58 kernel :        FRC
59         @case `uname -p` in \
60             i386) \
61                 PROCESSOR=i386; \
62                 KGCCFLAGS=""; \
63                 ;; \
64             sparc) \
65                 PROCESSOR=sparc; \
66                 KGCCFLAGS="-mno-app-regs -munaligned-doubles \
67                         -fpcc-struct-return" \
68                 ;; \
69             *) echo "Unknown processor type..."; exit 1 \
70                 ;; \
71         esac; \
72         if [ x"${OSVERSION}" != x"5.5.1" ]; then \
73                 OSDEFS=-D_ISOC9X_SOURCE; \
74         fi; \
75         echo "Making $@ for $$PROCESSOR..."; \
76         ${MAKE} -f Makefile.kernel ${MFLAGS} \
77             SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}"\
78             ETCDIR="${sysconfdir}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
79             MANDIR="${MANDIR}" DESTDIR="${DESTDIR}" AFSDIR="${AFSDIR}" \
80             KRBDIR="${KRBDIR}" OSDEFS="$${OSDEFS}" \
81             MACHINEDEFS="$${MACHINEDEFS}" \
82             AFPLIBS="${AFPLIBS}" KGCCFLAGS="$${KGCCFLAGS}" ddp
83
84 FRC: 
85
86 ddp :   ${OBJ}
87         ${LD} -r -o ddp ${OBJ}
88
89 linkage.o : linkage.c
90         ${CC} ${CFLAGS} -DVERSION=\"`cat ../../VERSION`\" -c linkage.c
91
92 ../../bin ../../etc:    ../../libatalk
93
94 ${ALL}: FRC
95         if [ x"${OSVERSION}" != x"5.5.1" ]; then \
96           OSDEFS=-D_ISOC9X_SOURCE; \
97         fi; \
98         cd $@; ${MAKE} ${MFLAGS} CC="${CC}" \
99             ADDLIBS="${ADDLIBS}" DEFS="${DEFS} $${OSDEFS}" \
100             OPTOPTS="${OPTOPTS}" \
101             SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}" \
102             ETCDIR="${sysconfdir}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
103             DESTDIR="${DESTDIR}" AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \
104             AFPLIBS="${AFPLIBS}" LDSHARED="${LDSHARED}" \
105             LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \
106             LDSHAREDFLAGS="${LDSHAREDFLAGS}" CSHAREDFLAGS="${CSHAREDFLAGS}" \
107             LIBSHARED="${LIBSHARED}" USE_CRYPTLIB="${USE_CRYPTLIB}" \
108             OSDEFS="$${OSDEFS}" MACHINEDEFS="$${MACHINEDEFS}" \
109             all
110
111 FRC:
112
113 kuninstall : FRC
114         rm -f /etc/rc2.d/S79atalk /etc/rc0.d/K79atalk
115         if [ x"${SPARC64}" != x ] ; then \
116                 ${RM} /usr/kernel/drv/sparcv9/ddp; \
117                 ${RM} /usr/kernel/strmod/sparcv9/ddp; \
118         else \
119                 ${RM} /usr/kernel/drv/ddp; \
120                 ${RM} /usr/kernel/strmod/ddp; \
121         fi
122         ${RM} /usr/kernel/drv/ddp.conf
123         -rem_drv ddp
124         sync;sync;sync
125
126 kinstall : kernel kuninstall
127         if [ x"${SPARC64}" != x ]; then \
128                 ${INSTALL} -c ddp /usr/kernel/drv/sparcv9/ddp; \
129                 ln /usr/kernel/drv/sparcv9/ddp /usr/kernel/strmod/sparcv9/ddp; \
130         else \
131                 ${INSTALL} -c ddp /usr/kernel/drv/ddp; \
132                 ln /usr/kernel/drv/ddp /usr/kernel/strmod/ddp; \
133         fi
134         ${INSTALL} -c ddp.conf /usr/kernel/drv/ddp.conf
135         add_drv -m '* 0666 root sys' ddp
136         sync;sync;sync
137         if [ -f /etc/init.d/atalk ]; then \
138                 echo "Preserving existing /etc/init.d/atalk settings."; \
139         else \
140         sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${sbindir}@ \
141                 -e s@:BINDIR:@${bindir}@ -e s@:RESDIR:@${RESDIR}@ \
142                 -e s@:ETCDIR:@${sysconfdir}@ -e s@:LIBDIR:@${LIBDIR}@ \
143                 -e s@:INCDIR:@${INCDIR}@ \
144             < ../../distrib/initscripts/rc.atalk.sysv > /etc/init.d/atalk; \
145         fi
146         chmod 744 /etc/init.d/atalk
147         -ln -s ../init.d/atalk /etc/rc2.d/S79atalk
148         -ln -s ../init.d/atalk /etc/rc0.d/K79atalk
149
150 install :
151         -mkdir ${DESTDIR}${sbindir} ${DESTDIR}${bindir} ${DESTDIR}${sysconfdir} \
152                 ${DESTDIR}${libdir}
153         sed -e s@:BINDIR:@${prefix}/bin@ < ../../contrib/shell_utils/lp2pap.sh > ${DESTDIR}${RESDIR}/lp2pap.sh
154         chmod 744 ${DESTDIR}${sysconfdir}/lp2pap.sh
155         for i in ${ALL}; \
156             do (cd $$i; ${MAKE} ${MFLAGS} CC="${CC}" \
157                 ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
158                 SBINDIR="${sbindir}" BINDIR="${bindir}" RESDIR="${RESDIR}" \
159                 ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
160                 AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \
161                 AFPLIBS="${AFPLIBS}" \
162                 LDSHARED="${LDSHARED}" LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \
163                 LDSHAREDFLAGS="${LDSHAREDFLAGS}" \
164                 CSHAREDFLAGS="${CSHAREDFLAGS}" LIBSHARED="${LIBSHARED}" \
165                 OSDEFS="$${OSDEFS}" MACHINEDEFS="$${MACHINEDEFS}" \
166                 INSTALL="${INSTALL}" $@); \
167         done
168         if [ -f ${DESTDIR}${sysconfdir}/afpd.conf ]; then \
169                 echo "Retaining old afpd.conf file.";  \
170         else \
171                 sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${sbindir}@ \
172                         -e s@:BINDIR:@${bindir}@ -e s@:RESDIR:@${RESDIR}@ \
173                         -e s@:ETCDIR:@${sysconfdir}@ -e s@:LIBDIR:@${LIBDIR}@ \
174                         -e s@:INCDIR:@${INCDIR}@ \
175                         < ../../config/afpd.conf > ${sysconfdir}/afpd.conf; \
176         fi
177         @echo
178         @echo "Install is done.  Don't forget to add lines from"
179         @echo "services.atalk to /etc/services and to call rc.atalk"
180         @echo "in /etc/rc.  See README and README.SOLARIS for more"
181         @echo "information."
182
183 distdir :
184
185 clean : sysclean
186         for i in ${ALL}; \
187             do (cd $$i; ${MAKE} ${MFLAGS} clean); \
188         done
189
190 klean sysclean :
191         rm -f a.out core* *.o *.bak *[Ee]rrs tags
192         rm -f ddp
193
194 depend :
195         for i in ${ALL}; \
196             do (cd $$i; ${MAKE} ${MFLAGS} DEFS="${DEFS}" depend); \
197         done
198
199 # DO NOT DELETE THIS LINE
200