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