pull-prototypes-to-head-20020821
[openafs.git] / src / libuafs / MakefileProto.LINUX.in
1 # Copyright 2000, International Business Machines Corporation and others.
2 # All Rights Reserved.
3
4 # This software has been released under the terms of the IBM Public
5 # License.  For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
7
8 srcdir=@srcdir@
9 include @TOP_OBJDIR@/src/config/Makefile.config
10
11 # MakefileProto for LINUX systems
12 # This Makefile generates two libraries: the standard libuafs and libjuafs,
13 # a libuafs variant that is designed to link with Java enabled libraries.
14 # The libjuafs library implements the AFS_WEB_ENHANCEMENTS definition, see
15 # the libuafs README for details.
16
17 # System specific build commands and flags
18 DEFINES= -D_REENTRANT -DKERNEL -DUKERNEL
19 KOPTS=
20 CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBUG}
21 OPTF=-O
22 # WEBOPTS = -I../nsapi -DNETSCAPE_NSAPI -DNET_SSL -DXP_UNIX -DMCC_HTTPD
23
24 TEST_CFLAGS=-pthread -D_REENTRANT -DAFS_PTHREAD_ENV -DAFS_LINUX22_ENV
25 TEST_LDFLAGS=
26 TEST_LIBS=-lpthread
27
28 LIBUAFS = libuafs.a
29 LIBJUAFS = libjuafs.a
30 LIBAFSWEB = nsafs.so
31 LIBAFSWEBKRB = nsafs.krb.so
32
33 include Makefile.common
34
35 setup_common:
36         -$(RM) -f  h net netinet rpc ufs nfs  machine sys inet nsapi
37         -ln -s /usr/include/sys h
38         -ln -s /usr/include/net net
39         -ln -s /usr/include/netinet netinet
40         -ln -s /usr/include/rpc rpc
41         -ln -s /usr/include/sys sys
42         -ln -s /usr/include/nfs nfs
43         -ln -s /usr/include/inet inet
44         -ln -s /usr/include/ufs ufs
45         -ln -s $(NS_INCL) nsapi
46
47 setup_uafs: UAFS setup_common
48         -$(RM) -f UAFS/Makefile UAFS/Makefile.common
49         ln -s ../Makefile UAFS/Makefile
50         ln -s ../Makefile.common UAFS/Makefile.common
51
52 setup_juafs: JUAFS setup_common
53         -$(RM) -f JUAFS/Makefile JUAFS/Makefile.common
54         ln -s ../Makefile JUAFS/Makefile
55         ln -s ../Makefile.common JUAFS/Makefile.common
56
57 UAFS:
58         mkdir -p $@
59
60 JUAFS:
61         mkdir -p $@
62
63 setup_nsafs: AFSWEB setup_common
64         -$(RM) -f AFSWEB/Makefile AFSWEB/Makefile.common
65         ln -s ../Makefile AFSWEB/Makefile
66         ln -s ../Makefile.common AFSWEB/Makefile.common
67
68 AFSWEB:
69         mkdir -p $@
70
71 UAFS/$(LIBUAFS): setup_uafs
72         cd UAFS; \
73         $(MAKE) $(LIBUAFS) DESTDIR=${DESTDIR} LIBJUAFS_FLAGS=
74
75 JUAFS/$(LIBJUAFS): setup_juafs
76         cd JUAFS; \
77         $(MAKE) $(LIBJUAFS) DESTDIR=${DESTDIR} LIBJUAFS_FLAGS=-DAFS_WEB_ENHANCEMENTS
78
79 AFSWEB/$(LIBAFSWEB): setup_nsafs
80         cd AFSWEB; \
81         $(MAKE) $(LIBAFSWEB) DESTDIR=${DESTDIR}
82
83 AFSWEB/$(LIBAFSWEBKRB): setup_nsafs
84         cd AFSWEB; \
85         $(MAKE) $(LIBAFSWEBKRB) DESTDIR=${DESTDIR}
86
87 # Below this line are targets when in the COMMON directory:
88
89 $(LIBUAFS): $(UAFSOBJ)
90         -$(RM) -f $(LIBUAFS)
91         $(AR) $(ARFLAGS) $(LIBUAFS) $(UAFSOBJ)
92
93 $(LIBJUAFS): $(JUAFSOBJ)
94         -$(RM) -f $(LIBJUAFS)
95         $(AR) $(ARFLAGS) $(LIBJUAFS) $(JUAFSOBJ)
96
97 $(LIBAFSWEB): $(AFSWEBOBJ) ${DES}/libdes.a
98         -$(RM) -f $(LIBAFSWEB)
99         ld -b $(LIBAFSWEB) $(AFSWEBOBJ) ${DES}/libdes.a $(WEBLIBS)
100
101 $(LIBAFSWEBKRB): $(AFSWEBOBJKRB) ${DES}/libdes.a
102         -$(RM) -f $(LIBAFSWEBKRB)
103         ld -b $(LIBAFSWEBKRB) $(AFSWEBOBJKRB) ${DES}/libdes.a $(WEBLIBS)
104
105
106
107
108
109