VirtualBox

source: vbox/trunk/src/libs/xpcom18a4/nsprpub/tools/Makefile.in@ 5881

Last change on this file since 5881 was 1, checked in by vboxsync, 55 years ago

import

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 6.7 KB
Line 
1#
2# ***** BEGIN LICENSE BLOCK *****
3# Version: MPL 1.1/GPL 2.0/LGPL 2.1
4#
5# The contents of this file are subject to the Mozilla Public License Version
6# 1.1 (the "License"); you may not use this file except in compliance with
7# the License. You may obtain a copy of the License at
8# http://www.mozilla.org/MPL/
9#
10# Software distributed under the License is distributed on an "AS IS" basis,
11# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12# for the specific language governing rights and limitations under the
13# License.
14#
15# The Original Code is the Netscape Portable Runtime (NSPR).
16#
17# The Initial Developer of the Original Code is
18# Netscape Communications Corporation.
19# Portions created by the Initial Developer are Copyright (C) 1998-2000
20# the Initial Developer. All Rights Reserved.
21#
22# Contributor(s):
23#
24# Alternatively, the contents of this file may be used under the terms of
25# either the GNU General Public License Version 2 or later (the "GPL"), or
26# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27# in which case the provisions of the GPL or the LGPL are applicable instead
28# of those above. If you wish to allow use of your version of this file only
29# under the terms of either the GPL or the LGPL, and not to allow others to
30# use your version of this file under the terms of the MPL, indicate your
31# decision by deleting the provisions above and replace them with the notice
32# and other provisions required by the GPL or the LGPL. If you do not delete
33# the provisions above, a recipient may use your version of this file under
34# the terms of any one of the MPL, the GPL or the LGPL.
35#
36# ***** END LICENSE BLOCK *****
37
38#! gmake
39
40MOD_DEPTH = ..
41topsrcdir = @top_srcdir@
42srcdir = @srcdir@
43VPATH = @srcdir@
44
45include $(MOD_DEPTH)/config/autoconf.mk
46
47include $(topsrcdir)/config/config.mk
48
49ifeq ($(OS_TARGET), WIN16)
50OS_CFLAGS = $(OS_EXE_CFLAGS)
51endif
52
53
54DIRS =
55
56CSRCS = \
57 httpget.c \
58 tail.c \
59 $(NULL)
60
61ifeq (,$(filter-out WINNT OS2,$(OS_ARCH)))
62PROG_SUFFIX = .exe
63else
64PROG_SUFFIX =
65endif
66
67PROGS = $(addprefix $(OBJDIR)/, $(CSRCS:.c=$(PROG_SUFFIX)))
68
69TARGETS = $(PROGS)
70
71INCLUDES = -I$(dist_includedir)
72
73NSPR_VERSION = 3
74
75# Setting the variables LDOPTS and LIBPR. We first initialize
76# them to the default values, then adjust them for some platforms.
77LDOPTS = -L$(dist_libdir)
78LIBPR = -lnspr$(NSPR_VERSION)
79LIBPLC = -lplc$(NSPR_VERSION)
80
81ifeq ($(OS_ARCH), WINNT)
82ifeq ($(OS_TARGET), WIN16)
83 LIBPR = $(dist_libdir)/nspr$(NSPR_VERSION).lib
84 LIBPLC= $(dist_libdir)/plc$(NSPR_VERSION).lib
85else
86LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO
87LIBPR = $(dist_libdir)/libnspr$(NSPR_VERSION).$(LIB_SUFFIX)
88LIBPLC= $(dist_libdir)/libplc$(NSPR_VERSION).$(LIB_SUFFIX)
89endif
90endif
91
92ifeq ($(OS_ARCH),OS2)
93 ifeq ($(MOZ_OS2_TOOLS),VACPP)
94 LDOPTS = -NOE -DEBUG -nologo -PMTYPE:VIO
95 LIBPR = $(dist_libdir)/nspr$(NSPR_VERSION).lib
96 LIBPLC= $(dist_libdir)/plc$(NSPR_VERSION).lib
97 else
98 LDOPTS += -Zomf -Zlinker /PM:VIO
99 endif
100endif
101
102ifneq ($(OS_ARCH), WINNT)
103PWD = $(shell pwd)
104endif
105
106ifeq ($(OS_ARCH), IRIX)
107LDOPTS += -rpath $(PWD)/$(dist_libdir)
108endif
109
110ifeq ($(OS_ARCH), OSF1)
111LDOPTS += -rpath $(PWD)/$(dist_libdir) -lpthread
112endif
113
114ifeq ($(OS_ARCH), HP-UX)
115LDOPTS += -Wl,+s,+b,$(PWD)/$(dist_libdir)
116endif
117
118# AIX
119ifeq ($(OS_ARCH),AIX)
120LDOPTS += -blibpath:$(PWD)/$(dist_libdir):/usr/lib:/lib
121LIBPR = -lnspr$(NSPR_VERSION)_shr
122LIBPLC = -lplc$(NSPR_VERSION)_shr
123endif
124
125# Solaris
126ifeq ($(OS_ARCH), SunOS)
127ifneq ($(OS_RELEASE), 4.1.3_U1)
128ifdef NS_USE_GCC
129LDOPTS += -Xlinker -R -Xlinker $(PWD)/$(dist_libdir)
130else
131LDOPTS += -R $(PWD)/$(dist_libdir)
132endif
133endif
134
135# SunOS 5.4 and 5.5 need to link with -lthread or -lpthread,
136# even though we already linked with these system libraries
137# when we built libnspr.so.
138ifeq ($(OS_RELEASE), 5.4)
139EXTRA_LIBS = -lthread
140endif
141
142ifeq ($(OS_RELEASE), 5.5)
143ifdef USE_PTHREADS
144EXTRA_LIBS = -lpthread
145else
146EXTRA_LIBS = -lthread
147endif
148endif
149endif # SunOS
150
151ifeq ($(OS_ARCH), NCR)
152# XXX: We see some strange problems when we link with libnspr.so.
153# So for now we use static libraries on NCR. The shared library
154# stuff below is commented out.
155LIBPR = $(dist_libdir)/libnspr$(NSPR_VERSION).a
156LIBPLC = $(dist_libdir)/libplc$(NSPR_VERSION).a
157EXTRA_LIBS = -lsocket -lnsl -ldl
158
159# NCR needs to link against -lsocket -lnsl (and -lc, which is linked
160# implicitly by $(CC)) again even though we already linked with these
161# system libraries when we built libnspr.so.
162#EXTRA_LIBS = -lsocket -lnsl
163# This hardcodes in the executable programs the directory to find
164# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
165# option for ld on other platforms.
166#export LD_RUN_PATH = $(PWD)/$(dist_libdir)
167endif
168
169ifeq ($(OS_ARCH), SCOOS)
170# SCO Unix needs to link against -lsocket again even though we
171# already linked with these system libraries when we built libnspr.so.
172EXTRA_LIBS = -lsocket
173# This hardcodes in the executable programs the directory to find
174# libnspr.so etc. at program startup. Equivalent to the -R or -rpath
175# option for ld on other platforms.
176export LD_RUN_PATH = $(PWD)/$(dist_libdir)
177endif
178
179#####################################################
180#
181# The rules
182#
183#####################################################
184
185include $(topsrcdir)/config/rules.mk
186
187AIX_PRE_4_2 = 0
188ifeq ($(OS_ARCH),AIX)
189ifneq ($(OS_RELEASE),4.2)
190ifneq ($(USE_PTHREADS), 1)
191#AIX_PRE_4_2 = 1
192endif
193endif
194endif
195
196ifeq ($(AIX_PRE_4_2),1)
197
198# AIX releases prior to 4.2 need a special two-step linking hack
199# in order to both override the system select() and be able to
200# get at the original system select().
201#
202# We use a pattern rule in ns/nspr20/config/rules.mk to generate
203# the .$(OBJ_SUFFIX) file from the .c source file, then do the
204# two-step linking hack below.
205
206$(OBJDIR)/%: $(OBJDIR)/%.$(OBJ_SUFFIX)
207 @$(MAKE_OBJDIR)
208 rm -f $@ $(AIX_TMP)
209 $(CC) $(AIX_LINK_OPTS) -o $(AIX_TMP) $< $(dist_libdir)/libnspr$(NSPR_VERSION).a
210 $(CC) -o $@ $(AIX_TMP) $(AIX_WRAP)
211 rm -f $(AIX_TMP)
212
213else
214
215# All platforms that are not AIX pre-4.2.
216
217$(OBJDIR)/%$(PROG_SUFFIX): $(OBJDIR)/%.$(OBJ_SUFFIX)
218 @$(MAKE_OBJDIR)
219ifeq ($(OS_ARCH), WINNT)
220ifeq ($(OS_TARGET),WIN16)
221 echo system windows >w16link
222 echo option map >>w16link
223 echo option stack=10K >>w16link
224 echo option heapsize=32K >>w16link
225 echo debug $(DEBUGTYPE) all >>w16link
226 echo name $@ >>w16link
227 echo file >>w16link
228 echo $< >>w16link
229 echo library >>w16link
230 echo $(LIBPR), >>w16link
231 echo $(LIBPLC), >>w16link
232 echo winsock.lib >>w16link
233 wlink @w16link.
234else
235 link $(LDOPTS) $< $(LIBPR) $(LIBPLC) wsock32.lib -out:$@
236endif
237else
238ifeq ($(OS_ARCH),OS2)
239 $(LINK) $(LDOPTS) $< $(LIBPR) $(LIBPLC) $(OS_LIBS) $(EXTRA_LIBS) -o $@
240else
241 $(CC) $(XCFLAGS) $< $(LDOPTS) $(LIBPR) $(LIBPLC) $(EXTRA_LIBS) -o $@
242endif
243endif
244endif
245
246export:: $(TARGETS)
247clean::
248 rm -f $(TARGETS)
249
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette