4 # Make file for pwlib library
6 # Portable Windows Library
8 # Copyright (c) 1993-1998 Equivalence Pty. Ltd.
10 # The contents of this file are subject to the Mozilla Public License
11 # Version 1.0 (the "License"); you may not use this file except in
12 # compliance with the License. You may obtain a copy of the License at
13 # http://www.mozilla.org/MPL/
15 # Software distributed under the License is distributed on an "AS IS"
16 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17 # the License for the specific language governing rights and limitations
20 # The Original Code is Portable Windows Library.
22 # The Initial Developer of the Original Code is Equivalence Pty. Ltd.
24 # Portions are Copyright (C) 1993 Free Software Foundation, Inc.
25 # All Rights Reserved.
27 # Contributor(s): ______________________________________.
30 # Revision 1.22 2004/04/29 15:01:43 csoutheren
33 # Revision 1.21 2004/04/29 14:07:06 csoutheren
34 # Changed install target to use $(INSTALL)
35 # Various makefile cleanups and verified install and uninstall targets
36 # Removed some vestiges of old GUI code
38 # Revision 1.20 2004/04/20 10:02:46 csoutheren
39 # Remove usage of asnparser from the Makefile
41 # Revision 1.19 2004/04/13 11:48:36 csoutheren
42 # asnparser no longer built by default
44 # Revision 1.18 2004/02/26 12:04:10 csoutheren
45 # Added changes to increase portability to 64bit platforms, thanks to Klaus Kaempf
47 # Revision 1.17 2004/02/01 12:12:37 dsandras
48 # Fixed default target to optshared.
50 # Revision 1.16 2004/02/01 11:46:39 dsandras
51 # Set default target to "optshared".
53 # Revision 1.15 2003/12/12 06:40:47 rogerhardiman
54 # get plugins to install on FreeBSD
56 # Revision 1.14 2003/11/25 09:51:11 dsandras
57 # Fixed make install on Linux.
59 # Revision 1.13 2003/11/24 09:53:31 rogerhardiman
60 # Make the install target work on non-linux platforms. (Tested on FreeBSD).
62 # Revision 1.12 2003/11/14 06:01:11 csoutheren
63 # Fixed HAS_PLUGIN define
65 # Revision 1.11 2003/09/01 09:37:04 dsandras
66 # Fixed DESTDIR support thanks to Stefan BrĂ¼ns <lurchi@kawo1.rwth-aachen.de>.
68 # Revision 1.10 2003/08/27 09:46:07 dsandras
69 # Readded DESTDIR support (thanks to Stefan Bruens <lurch@gmx.li>)
71 # Revision 1.9 2003/07/29 11:22:17 csoutheren
72 # Removed trailing slash from vars.
74 # Revision 1.8 2003/07/28 18:13:02 dsandras
75 # Added patch from Alexander Larsson <alexl@redhat.com> to add --libdir support to configure.
77 # Revision 1.7 2003/07/28 14:09:34 dsandras
79 # Make sure permissions are correct on include/ptlib/unix/ptlib.
81 # Revision 1.6 2003/07/28 09:08:21 dsandras
83 # Fixed same kind of things for "make uninstall".
85 # Revision 1.5 2003/07/28 09:05:04 dsandras
87 # Make sure that things are installed in $(DESTDIR)$(PREFIX) and not only $(DESTDIR). Use the style used in all distributions for headers of $(DESTIR)$(PREFIX).
89 # Revision 1.4 2003/07/24 22:01:42 dereksmithies
90 # Add fixes from Peter Nixon for fixing install problems. Thanks.
92 # Revision 1.3 2003/05/22 12:13:44 dsandras
94 # Fixes permissions after "make install".
96 # Revision 1.3 2003/05/22 10:59:23 dsandras
97 # Fixes permissions after "make install".
99 # Revision 1.2 2003/05/16 19:10:23 shawn
100 # Replaces "so" with @SHAREDLIBEXT@ so `make install' works on platforms
101 # that do not use "so" as shared library filename extension.
103 # Revision 1.1 2003/04/28 01:09:24 craigs
106 # Revision 1.26 2003/04/16 07:16:55 craigs
107 # Modified for new autoconf based configuration
109 # Revision 1.25 2002/12/04 19:35:47 rogerh
110 # Remove un-needed / at the end of PREFIX
112 # Revision 1.24 2002/11/13 23:45:19 robertj
113 # Added install and uninstall targets, thanks Damien Sandras
115 # Revision 1.23 2002/10/17 13:44:27 robertj
116 # Port to RTEMS, thanks Vladimir Nesic.
118 # Revision 1.22 2001/08/06 19:35:27 rogerh
119 # Include the relevent header file based on the version of OpenBSD.
120 # Submitted by Marius Aamodt Eriksen <marius@umich.edu>
122 # Revision 1.21 2001/07/30 07:45:54 robertj
123 # Added "all" target with double colon.
125 # Revision 1.20 2001/04/23 00:44:30 robertj
126 # Spelt update correctly!
128 # Revision 1.19 2001/04/23 00:43:55 robertj
129 # Added make update target to get from cvs and rebuild
131 # Revision 1.18 2001/04/17 06:30:37 robertj
132 # Altered so can use tagbuild target in root directory.
134 # Revision 1.17 2001/03/20 03:33:18 robertj
135 # Major improvement to multiple targets over subdirectories, thanks Jac Goudsmit
137 # Revision 1.16 2000/11/01 04:39:20 robertj
138 # Made sure opt is first so frech build works
140 # Revision 1.15 2000/11/01 02:42:46 robertj
141 # Added optnoshared to build all default target.
143 # Revision 1.14 2000/10/30 05:49:25 robertj
144 # Made make all do bothdepend both
146 # Revision 1.13 2000/06/26 11:17:19 robertj
147 # Nucleus++ port (incomplete).
149 # Revision 1.12 2000/04/26 02:50:12 robertj
150 # Fixed build of correct GUI directory.
152 # Revision 1.11 2000/04/26 01:03:46 robertj
153 # Removed tarfile creation target, this is done differently now.
155 # Revision 1.10 2000/02/04 19:32:16 craigs
156 # Added targets for unshared libraries etc
158 # Revision 1.9 1999/11/30 00:22:54 robertj
159 # Updated documentation for doc++
161 # Revision 1.8 1999/06/09 16:09:20 robertj
162 # Fixed tarball construction not include windows directories
164 # Revision 1.7 1999/06/09 15:41:18 robertj
165 # Added better UI to make files.
167 # Revision 1.6 1999/04/22 02:37:00 robertj
168 # Added history file.
170 # Revision 1.5 1999/03/10 04:26:57 robertj
171 # More documentation changes.
173 # Revision 1.4 1999/03/09 08:07:00 robertj
174 # Documentation support.
176 # Revision 1.3 1999/01/22 00:30:45 robertj
177 # Yet more build environment changes.
179 # Revision 1.2 1999/01/16 23:15:11 robertj
180 # Added ability to NOT have th gui stuff.
182 # Revision 1.1 1999/01/16 04:00:14 robertj
187 PREFIX
=@INSTALLPREFIX@
188 exec_prefix = ${PREFIX}
190 export PWLIBDIR
=@PWLIBDIR@
198 TARGETDIR
=@TARGETDIR@
200 include make
/ptlib.mak
202 SUBDIRS
:= src
/ptlib
/$(TARGETDIR
)
203 ifeq (1, $(HAS_PLUGINS
))
207 # override P_SHAREDLIB for specific targets
208 optshared debugshared bothshared
:: P_SHAREDLIB
=1
209 optnoshared debugnoshared bothnoshared
:: P_SHAREDLIB
=0
211 # all these targets are just passed to all subdirectories
212 $(subst tagbuild
,,$(STANDARD_TARGETS
)) ::
213 set
-e
; $(foreach dir,$(SUBDIRS
),$(MAKE
) -C
$(dir) $@
;)
217 $(MAKE
) bothdepend both
220 $(MAKE
) -C src
/ptlib
/$(TARGETDIR
) both
223 doc
++ --dir html
--tables pwlib.dxx
226 ( for
dir in
$(DESTDIR
)$(LIBDIR
) \
227 $(DESTDIR
)$(PREFIX
)/include/ptlib \
228 $(DESTDIR
)$(PREFIX
)/include/ptlib
/unix
/ptlib \
229 $(DESTDIR
)$(PREFIX
)/include/ptclib \
230 $(DESTDIR
)$(PREFIX
)/share
/pwlib
/make \
231 ; do mkdir
-p
$$dir ; chmod
555 $$dir ; done
)
232 $(INSTALL
) -m
444 lib
/$(PTLIB_FILE
).@MAJOR_VERSION@.@MINOR_VERSION@.@BUILD_NUMBER@
$(DESTDIR
)$(LIBDIR
)
233 (cd
$(DESTDIR
)$(LIBDIR
) ; \
234 rm -f
$(PTLIB_FILE
).@MAJOR_VERSION@.@MINOR_VERSION@
; \
235 ln
-sf
$(PTLIB_FILE
).@MAJOR_VERSION@.@MINOR_VERSION@.@BUILD_NUMBER@ \
236 $(PTLIB_FILE
).@MAJOR_VERSION@.@MINOR_VERSION@ \
238 (cd
$(DESTDIR
)$(LIBDIR
) ; \
239 rm -f
$(PTLIB_FILE
).@MAJOR_VERSION@
; \
240 ln
-sf
$(PTLIB_FILE
).@MAJOR_VERSION@.@MINOR_VERSION@.@BUILD_NUMBER@ \
241 $(PTLIB_FILE
).@MAJOR_VERSION@ \
243 (cd
$(DESTDIR
)$(LIBDIR
) ; \
244 rm -f
$(PTLIB_FILE
) ; \
245 ln
-sf
$(PTLIB_FILE
).@MAJOR_VERSION@.@MINOR_VERSION@.@BUILD_NUMBER@ \
248 (cd
$(DESTDIR
)$(LIBDIR
); \
249 rm -f libpt.@SHAREDLIBEXT@
; \
250 ln
-sf
$(PTLIB_FILE
) libpt.@SHAREDLIBEXT@ \
252 ifeq (1, $(HAS_PLUGINS
))
253 $(INSTALL
) -m
444 plugins
/pwlib
/*.so
$(DESTDIR
)$(LIBDIR
)
255 $(INSTALL
) -m
444 include/ptlib.h
$(DESTDIR
)$(PREFIX
)/include
256 $(INSTALL
) -m
444 include/ptbuildopts.h
$(DESTDIR
)$(PREFIX
)/include
257 $(INSTALL
) -m
444 include/ptlib
/*.h
$(DESTDIR
)$(PREFIX
)/include/ptlib
258 $(INSTALL
) -m
444 include/ptlib
/*.inl
$(DESTDIR
)$(PREFIX
)/include/ptlib
259 $(INSTALL
) -m
444 include/ptlib
/unix
/ptlib
/*.h
$(DESTDIR
)$(PREFIX
)/include/ptlib
/unix
/ptlib
260 $(INSTALL
) -m
444 include/ptlib
/unix
/ptlib
/*.inl
$(DESTDIR
)$(PREFIX
)/include/ptlib
/unix
/ptlib
261 $(INSTALL
) -m
444 include/ptclib
/*.h
$(DESTDIR
)$(PREFIX
)/include/ptclib
262 $(INSTALL
) -m
444 make
/*.mak
$(DESTDIR
)$(PREFIX
)/share
/pwlib
/make
/
263 $(INSTALL
) -m
555 make
/ptlib-config
$(DESTDIR
)$(PREFIX
)/share
/pwlib
/make
/
264 (cd
$(DESTDIR
)$(PREFIX
)/bin
; ln
-snf ..
/share
/pwlib
/make
/ptlib-config ptlib-config
)
267 rm -rf
$(DESTDIR
)$(PREFIX
)/include/ptlib \
268 $(DESTDIR
)$(PREFIX
)/include/ptclib \
269 $(DESTDIR
)$(PREFIX
)/include/ptlib.h \
270 $(DESTDIR
)$(PREFIX
)/include/ptbuildopts.h \
271 $(DESTDIR
)$(PREFIX
)/share
/pwlib \
272 $(DESTDIR
)$(LIBDIR
)/pwlib
/ \
273 rm -f
$(DESTDIR
)@
libdir@
/$(PTLIB_FILE
)* \