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