initial-objdir-support-20011017
[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 # MakefileProto for Linux systems
9 #
10
11 DEST=@DEST@
12 TOP_SRCDIR=@TOP_SRCDIR@
13 TOP_INCDIR=@TOP_INCDIR@
14 TOP_LIBDIR=@TOP_LIBDIR@
15 TOP_OBJDIR=@TOP_OBJDIR@
16 srcdir=@srcdir@
17 VPATH=${srcdir}
18 prefix=@prefix@
19 exec_prefix=@exec_prefix@
20 bindir=@bindir@
21 sbindir=@sbindir@
22 libexecdir=@libexecdir@
23 libdir=@libdir@
24 includedir=@includedir@
25 mandir=@mandir@
26 afssrvbindir=@afssrvbindir@
27 afssrvsbindir=@afssrvsbindir@
28 afssrvlibexecdir=@afssrvlibexecdir@
29 SYS_NAME=@AFS_SYSNAME@
30
31 include ../config/Makefile.${SYS_NAME}
32
33 # System specific build commands and flags
34 CC = gcc
35 DEFINES= -D_REENTRANT -DKERNEL -DUKERNEL
36 KOPTS=
37 CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBUG}
38 OPTF=-O
39 # WEBOPTS = -I../nsapi -DNETSCAPE_NSAPI -DNET_SSL -DXP_UNIX -DMCC_HTTPD
40
41 TEST_CFLAGS=-pthread -D_REENTRANT -DAFS_PTHREAD_ENV -DAFS_LINUX22_ENV
42 TEST_LDFLAGS=
43 TEST_LIBS=-lpthread
44
45 LIBUAFS = libuafs.a
46 LIBAFSWEB = nsafs.so
47 LIBAFSWEBKRB = nsafs.krb.so
48
49 include Makefile.common
50
51 setup_common:
52         -$(RM) -f  h net netinet rpc ufs nfs  machine sys inet nsapi
53         -ln -s /usr/include/sys h
54         -ln -s /usr/include/net net
55         -ln -s /usr/include/netinet netinet
56         -ln -s /usr/include/rpc rpc
57         -ln -s /usr/include/sys sys
58         -ln -s /usr/include/nfs nfs
59         -ln -s /usr/include/inet inet
60         -ln -s /usr/include/ufs ufs
61         -ln -s $(NS_INCL) nsapi
62
63 setup_uafs: UAFS setup_common
64         -$(RM) -f UAFS/Makefile UAFS/Makefile.common
65         ln -s ../Makefile UAFS/Makefile
66         ln -s ../Makefile.common UAFS/Makefile.common
67
68 UAFS:
69         mkdir -p $@
70
71 setup_nsafs: AFSWEB setup_common
72         -$(RM) -f AFSWEB/Makefile AFSWEB/Makefile.common
73         ln -s ../Makefile AFSWEB/Makefile
74         ln -s ../Makefile.common AFSWEB/Makefile.common
75
76 AFSWEB:
77         mkdir -p $@
78
79 UAFS/$(LIBUAFS): setup_uafs
80         cd UAFS; \
81         $(MAKE) $(LIBUAFS) DESTDIR=${DESTDIR}
82
83 AFSWEB/$(LIBAFSWEB): setup_nsafs
84         cd AFSWEB; \
85         $(MAKE) $(LIBAFSWEB) DESTDIR=${DESTDIR}
86
87 AFSWEB/$(LIBAFSWEBKRB): setup_nsafs
88         cd AFSWEB; \
89         $(MAKE) $(LIBAFSWEBKRB) DESTDIR=${DESTDIR}
90
91 # Below this line are targets when in the COMMON directory:
92
93 $(LIBUAFS): $(UAFSOBJ)
94         -$(RM) -f $(LIBUAFS)
95         $(AR) $(ARFLAGS) $(LIBUAFS) $(UAFSOBJ)
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)