]> arthur.barton.de Git - netatalk.git/blob - sys/generic/Makefile
Initial revision
[netatalk.git] / sys / generic / Makefile
1 # generic system. here are some useful defines.
2 # system lookalikes:    -DBSD4_4 -D__svr4__ -DMACOSX_SERVER
3 # statfs/quota support: -DNO_QUOTA_SUPPORT -DUSE_QUOTA_H -DUSE_UFS_QUOTA_H
4 #                       -DHAVE_2ARG_DBTOB -DHAVE_DQB_BTIMELIMIT
5 #                       -DUSE_OLD_RQUOTA (really old rquota support)
6 #                       -DUSE_VFS_H -DUSE_STATFS_H -DUSE_STATVFS_H
7 #                       -DUSE_MNTTAB_H -DUSE_MNTENT_H -DUSE_MOUNT_H
8 # integer sizes:        -D_ISOC9X_SOURCE -DHAVE_64BIT_LONGS -DHAVE_32BIT_LONGS
9 # other 64-bit issues:  -DTRY_64BITOFF_T (for byte locks)
10 # afp/ddp:              -DNO_DDP
11 # to get sys/cdefs.h:   -I../../sys/generic
12 # misc:                 -DUSE_GETHOSTID -DNEED_GETUSERSHELL -DHAVE_BROKEN_CPP
13 #                       -DNEED_RQUOTA -DNO_STRUCT_TM_GMTOFF
14 #                       -DHAVE_IFNAMEINDEX
15 #
16 # plug-in uam support needs to access the run-time library
17 # loader. here are the relevant options for that:
18 # -DDLSYM_PREPEND_UNDERSCORE
19 # -DNO_DLFCN_H (you'll need to make libatalk/util/module.c do the right thing)
20 #
21 # here's some flags appropriate for gnu gcc.
22 # CSHAREDFLAGS=-fPIC
23 # LDSHARED=gcc
24 # LDSHAREDFLAGS=-shared
25 # LDFLAGS_EXPORT=-rdynamic
26 # LIBSHARED=-ldl
27 #
28 # the following combinations are not guaranteed to do anything, but
29 # you might have luck with them. make sure that you comment out
30 # TCPWRAPDIR, PAMDIR, or DESDIR/CRYPTODIR if you don't have the
31 # respective parts installed.
32 #
33 # digital unix: 
34 #   -DHAVE_64BIT_LONGS -DNO_DDP -DUSE_OLD_RQUOTA -DUSE_MOUNT_H \
35 #   -DUSE_UFS_QUOTA_H -I../../sys/generic
36 #  LIBSHARED=-ldl
37 #  LDSHAREDFLAGS=-shared -expect_unresolved '*' -s
38 #  uncomment the two touch lines in libatalk/Makefile to get around a
39 #  problem with ar. use gcc.
40 #
41 # i think this will work for machten, but i'm not sure:
42 #   -DBSD4_4 -DNO_QUOTA_SUPPORT -DNO_DDP
43 #
44 # sgi irix:
45 #   -DUSE_MNTENT_H -DHAVE_DQB_BTIMELIMIT -DUSE_QUOTA_H -DNO_DDP \
46 #   -DNEED_GETUSERSHELL -DUSE_STATVFS_H -DUSE_OLD_RQUOTA -DNO_STRUCT_TM_GMTOFF
47 #   change RANLIB in libatalk/Makefile from 'ranlib' to 'echo'
48 #
49 # aix:
50 #   -DHAVE_32BIT_LONGS -DHAVE_IFNAMEINDEX -DNO_DDP -DUSE_OLD_RQUOTA \
51 #   -I../../sys/generic
52 #   ADDLIBS=-lbsd
53 #   use cc.
54 #
55 DEFS=-DHAVE_64BIT_LONGS -DNO_DDP -DUSE_OLD_RQUOTA -DUSE_MOUNT_H \
56    -DUSE_UFS_QUOTA_H -I../../sys/generic
57 OPTOPTS=        -O2 -fomit-frame-pointer
58 #CC =   cc
59 CC=     gcc
60 CSHAREDFLAGS=-fPIC
61 LDSHARED=gcc
62 LDSHAREDFLAGS=-Wl,-E
63 INSTALL=        install
64 AFPLIBS=
65 #ADDLIBS=-lbsd
66 LIBSHARED=-ldl
67
68 # some oses have -lcrypt but shouldn't use it. uncomment the following
69 # line if that's the case.
70 #USE_CRYPTLIB=no
71
72 ALL=    ../../libatalk ../../include ../../bin ../../etc ../../man
73
74 oops:
75         @echo "Read README again.  Don't type 'make' here."
76         @exit 1
77
78 all:    ${ALL}
79
80 ../../bin ../../etc:    ../../libatalk
81
82 ${ALL}: FRC
83         cd $@; ${MAKE} ${MFLAGS} CC="${CC}" \
84             ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
85             SBINDIR="${SBINDIR}" BINDIR="${BINDIR}" RESDIR="${RESDIR}" \
86             ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
87             DESTDIR="${DESTDIR}" AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" \
88             AFPLIBS="${AFPLIBS}" LDSHARED="${LDSHARED}" \
89             LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \
90             LDSHAREDFLAGS="${LDSHAREDFLAGS}" CSHAREDFLAGS="${CSHAREDFLAGS}" \
91             LIBSHARED="${LIBSHARED}" USE_CRYPTLIB="${USE_CRYPTLIB}" \
92             all
93
94 FRC:
95
96 install :
97         -mkdir ${DESTDIR} ${SBINDIR} ${BINDIR} ${ETCDIR} ${LIBDIR}
98         for i in ${ALL}; \
99             do (cd $$i; ${MAKE} ${MFLAGS} CC="${CC}" \
100                 ADDLIBS="${ADDLIBS}" DEFS="${DEFS}" OPTOPTS="${OPTOPTS}" \
101                 SBINDIR="${SBINDIR}" BINDIR="${BINDIR}" RESDIR="${RESDIR}" \
102                 ETCDIR="${ETCDIR}" LIBDIR="${LIBDIR}" INCDIR="${INCDIR}" \
103                 AFSDIR="${AFSDIR}" KRBDIR="${KRBDIR}" AFPLIBS="${AFPLIBS}" \
104                 LDSHARED="${LDSHARED}" LDFLAGS_EXPORT="${LDFLAGS_EXPORT}" \
105                 LDSHAREDFLAGS="${LDSHAREDFLAGS}" \
106                 CSHAREDFLAGS="${CSHAREDFLAGS}" LIBSHARED="${LIBSHARED}" \
107                 INSTALL="${INSTALL}" $@); \
108         done
109         rm -f ${ETCDIR}/rc.atalk
110         sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${SBINDIR}@ \
111                 -e s@:BINDIR:@${BINDIR}@ -e s@:RESDIR:@${RESDIR}@ \
112                 -e s@:ETCDIR:@${ETCDIR}@ -e s@:LIBDIR:@${LIBDIR}@ \
113                 -e s@:INCDIR:@${INCDIR}@ \
114             < ../../distrib/scripts/rc.atalk.bsd > ${ETCDIR}/rc.atalk
115         chmod 744 ${ETCDIR}/rc.atalk 
116         if [ -f ${ETCDIR}/afpd.conf ]; then \
117                 echo "Retaining old afpd.conf file.";  \
118         else \
119                 sed -e s@:DESTDIR:@${DESTDIR}@ -e s@:SBINDIR:@${SBINDIR}@ \
120                         -e s@:BINDIR:@${BINDIR}@ -e s@:RESDIR:@${RESDIR}@ \
121                         -e s@:ETCDIR:@${ETCDIR}@ -e s@:LIBDIR:@${LIBDIR}@ \
122                         -e s@:INCDIR:@${INCDIR}@ \
123                         < ../../config/afpd.conf > ${ETCDIR}/afpd.conf; \
124         fi
125         @echo
126         @echo "Install is done.  Don't forget to add lines from"
127         @echo "services.atalk to /etc/services and to call rc.atalk"
128         @echo "in /etc/rc.  See README and README.GENERIC for more"
129         @echo "information."
130
131 clean :
132         for i in ${ALL}; \
133             do (cd $$i; ${MAKE} ${MFLAGS} clean); \
134         done
135
136 depend :
137         for i in ${ALL}; \
138             do (cd $$i; ${MAKE} ${MFLAGS} DEFS="${DEFS}" depend); \
139         done
140
141 # DO NOT DELETE THIS LINE
142