thread-identification-routines-20010212
[openafs.git] / src / lwp / Makefile
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 SHELL = /bin/sh
9 COMPONENT=lwp
10 include ../config/Makefile.${SYS_NAME}
11
12 INSTALL = ${SRCDIR}bin/install
13
14 include ../config/Makefile.${SYS_NAME}
15 # this is important code, so let's optimize it.  The optimizer aggravates any
16 # subtle bugs that may have been introduced in process.s, be warned!
17 OPTIMIZE=${LWP_OPTMZ}
18
19 CFLAGS=${OPTIMIZE} -I${SRCDIR}include ${XCFLAGS}
20
21 include ../config/Makefile.version
22
23 LIBOBJS=lwp.o process.o lock.o iomgr.o timer.o fasttime.o preempt.o \
24         waitkey.o threadname.o AFS_component_version_number.o
25 LIBTOBJS=tlwp.o process.o lock.o tiomgr.o timer.o fasttime.o preempt.o AFS_component_version_number.o pthread.o threadname.o
26
27 noversion: install
28
29 #
30 #       The lwp library
31 #
32 liblwp.a        : ${LIBOBJS}
33                 -rm -f liblwp.a
34                 ar rv liblwp.a ${LIBOBJS}
35                 $(RANLIB) liblwp.a
36
37 libtlwp.a       : ${LIBTOBJS}
38                 -rm -f libtlwp.a
39                 ar rv libtlwp.a ${LIBTOBJS}
40                 $(RANLIB) libtlwp.a
41
42 tlwp.o: lwp.c lwp.h
43         ${CC} ${CFLAGS} -DUSE_SOLARIS_THREADSX -c lwp.c
44         mv lwp.o tlwp.o
45
46 tiomgr.o: iomgr.c lwp.h
47         ${CC} ${CFLAGS} -DUSE_SOLARIS_THREADSX -c iomgr.c
48         mv iomgr.o tiomgr.o
49
50 pthread.o       : pthread.c
51         ${CC} ${CFLAGS} -DUSE_SOLARIS_THREADSX -c pthread.c
52
53 process.s:
54         # This is required so sgi_64+ does not try to build this file.
55         echo Nothing to be done for process.s
56
57 process.o       : process.s process.c
58                         case "$(SYS_NAME)" in \
59                                 pmax_he1) \
60                                         $(CC) -c -I${SRCDIR}include process.s;; \
61                                 sun4c_51 | sun4c_52 | sun4m_51 | sun4m_52 | sun4c_53 | sun4m_53  | sun4_53 | sun4_52 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5? | sunx86_54) \
62                                         /usr/ccs/lib/cpp -P -I${SRCDIR}include process.s process.ss; \
63                                         ${AS} process.ss -o process.o; \
64                                         rm process.ss ;; \
65                                 sgi_5* ) \
66                                         $(CC) -c -I${SRCDIR}include -KPIC -G0  process.s;; \
67                                 sgi_61 | sgi_62 | sgi_63 ) \
68                                         $(CC) -c ${XCFLAGS} -I${SRCDIR}include -KPIC -G0  process.s;; \
69                                 hp* | *_linux* | sgi_64 | sgi_65) \
70                                         ${CC} ${CFLAGS} -c process.c;; \
71                                 ncrx86_*) \
72                                         /usr/ccs/lib/cpp -P -I${SRCDIR}include process.s process.ss; \
73                                         ${AS} -o process.o process.ss; \
74                                         rm process.ss ;; \
75                                 alpha_osf1 | alpha_osf20 |  alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux?? ) \
76                                         ${AS} -v  -P -DOSF -I${SRCDIR}include -DASSEMBLER process.s; \
77                                         ${AS} -v process.i -o process.o;; \
78                                 hp_ux110 ) \
79                                         ${CC} ${CFLAGS} -c process.c;; \
80                                 *) \
81                                         /lib/cpp -P -I${SRCDIR}include process.s process.ss; \
82                                         ${AS} process.ss -o process.o; \
83                                         rm process.ss ;; \
84                         esac
85
86 iomgr.o         : iomgr.c lwp.h timer.h
87                 ${CC} -c ${CFLAGS}  iomgr.c
88
89 preempt.o       : preempt.c lwp.h preempt.h
90 lwp.o           : lwp.c lwp.h
91                         case "$(SYS_NAME)" in \
92                                 rs_aix*) \
93                                         $(CC) -I${SRCDIR}include -c lwp.c;; \
94                                 *)  \
95                                         $(CC) ${CFLAGS} -c lwp.c;; \
96                         esac
97 lock.o          : lock.c lock.h lwp.h
98 timer.o         : timer.c
99 fasttime.o      : fasttime.c
100 threadname.o    : threadname.c
101
102 exc_handling.o  : exc_handling.c
103
104 #
105 # tests
106 #
107 rw: rw.o liblwp.a DEST/lib/afs/util.a
108         ${CC} ${CFLAGS} -o rw rw.o liblwp.a DEST/lib/afs/util.a
109
110 rw.o: rw.c
111         ${CC} ${CFLAGS} -c rw.c
112
113
114 #
115 #       Installation
116 #
117 system: install
118
119 kinstall ukinstall webinstall:
120         @echo No kernel source here.
121
122 install: liblwp.a #libtlwp.a
123                 ${INSTALL} liblwp.a ${DESTDIR}lib
124                 ${INSTALL} *.h ${DESTDIR}include
125                 case ${SYS_NAME} in \
126                     sun4_52 | sun4_53 | sun4c_52 | sun4c_53 | sun4m_52 | sun4m_53 | sun4_54 | sun4c_54 | sun4m_54 | sun4x_5?) \
127                         echo "Don't install libtrx.a for ${SYS_NAME}" ;; \
128                      * ) \
129                         echo "Don't install libtrx.a for ${SYS_NAME}" ;; \
130                 esac
131 clean:
132         rm -f *.o *.a core AFS_component_version_number.c
133
134 beancount:
135         wc -l *.[ch]