gecko-dev/cmd/gnomefe/Makefile.in
cls%seawood.org 4abf6c629b The system versions of jpeg & png are used by default (if found) unless the local copy is more recent. Zlib is used by default if found.
Added separate variables for jpeg, png & zlib CFLAGS & LIBS.
Added --with-option=dir support for jpeg, png & zlib.
Split X defines into XCFLAGS, XLDFLAGS & XLIBS.
Will attempt to link nspr against the proper thread lib if the initial check fails.
Removed last vestiges of NO_SECURITY.
Modified cmd/{gnome,qt,x}fe/Makefile to only use autoconf defined variable for the final link.
Changed ACCFLAGS to OS_CFLAGS. Changed ACLIBS to OS_LIBS.
OPTIMIZER (config.mk) is no longer set for autoconf.
No longer includes platform specific .mk
1998-10-23 00:36:08 +00:00

1370 lines
40 KiB
Makefile

#! gmake
#
# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL. You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
# Reserved.
#
##########################################################################
#
# Makefile for the Mozilla X front end.
#
# There are N dimensions to a full complement of netscape binaries:
#
# - target architecture
# - debug vs optimize
# - normal vs vendor-cobranded version (number, anim, etc)
# - normal vs purified
#
# A directory is needed for each of the first two dimensions (target
# and debug) but executables for all of the others will then be built
# in the same directory from the same .o files. The files have names
# as follows:
#
# netscape-export 2.0
# netscape-nis-export 2.0 (SunOS 4 only)
# netscape-sgi-export 2.0S (Irix5 only)
# netscape-export.pure 2.0 (SunOS 4 and Solaris only)
# ...etc...
#
# The only difference in the executables is which version of config-*.o
# is linked in, and whether or not -lresolv is used.
#
# The "release" target will create a release/ subdirectory, and N subdirs
# of that in which the various tar files will go. The tar files will be
# uniquely named, though the executables in them are all called "netscape".
#
# The exception to this is that the -nis versions don't get their own tar
# files, they are lumped in with the normal SunOS 4 package with the names
# "netscape" (for the NIS version) and "netscape_dns" (for the -lresolv
# version.)
#
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
MODULE = moz
DIRS = gnome-widgets gnome-src
REQUIRES = gnuzilla \
gnuzilla-widgets \
addr \
applet \
xpcom \
caps \
img \
edtplug \
jtools \
lay \
layer \
js \
libfont \
mariner \
msg \
parse \
plug \
posixfe \
hook \
pref \
privacy \
rdf \
security \
softupdt \
libreg \
style \
util \
java \
ldap \
$(NULL)
CSRCS = \
main.c \
gnome-bm.c \
gnome-ctxt.c \
gnome-config.c \
gnome-cnvtrs.c \
gnome-dlgs.c \
gnome-edit.c \
gnome-enc.c \
gnome-form.c \
gnome-grid.c \
gnome-help.c \
gnome-img.c \
gnome-lay.c \
gnome-loc.c \
gnome-lock.c \
gnome-mail.c \
gnome-plug.c \
gnome-posixfe.c \
gnome-ps.c \
gnome-rdf.c \
gnome-rgn.c \
gnome-sec.c \
gnome-str.c \
gnome-strids.c \
gnome-time.c \
$(NULL)
ifndef MOZ_LITE
XFE_PROGNAME := gnuzilla
DSO_PROGNAME := gnuz
PRODUCT_NAME := Communicator
NETHELP_DIR := comm
else
XFE_PROGNAME := gnuzilla-lite
DSO_PROGNAME := gnuz-lite
PRODUCT_NAME := Navigator
NETHELP_DIR := ratbert
CSRCS += rat_stubs.c
endif
include $(topsrcdir)/config/config.mk
CCLD = $(CCC)
LDFLAGS = $(CFLAGS)
NOMD_LDFLAGS = $(NOMD_CFLAGS)
GNOME_CFLAGS := $(FE_GNOME_CFLAGS)
GNOME_LIBS := $(FE_GNOME_LIBS)
ifeq ($(OS_ARCH),HP-UX)
# HP requires C++ programs to have main() in a C++ file.
CPPSRCS = cplusplusmain.cpp
CFLAGS += -DCPLUSPLUS_LINKAGE
endif
OBJS = $(CSRCS:.c=.o) $(CPPSRCS:.cpp=.o)
ifdef MKSHLIB
ifndef NO_NETSCAPE_SHARED
ifndef NO_BUILD_EXPORT
TARGETS += $(OBJDIR)/$(DSO_PROGNAME)-export
endif
ifdef BUILD_FRANCE
TARGETS += $(OBJDIR)/$(DSO_PROGNAME)-france
endif
ifdef BUILD_US
TARGETS += $(OBJDIR)/$(DSO_PROGNAME)-us
endif
endif
endif
ifndef NO_NETSCAPE_STATIC
ifndef NO_BUILD_EXPORT
TARGETS += $(OBJDIR)/$(XFE_PROGNAME)-export
endif
ifdef BUILD_FRANCE
TARGETS += $(OBJDIR)/$(XFE_PROGNAME)-france
endif
ifdef BUILD_US
TARGETS += $(OBJDIR)/$(XFE_PROGNAME)-us
endif
endif
#######################################################################
include $(topsrcdir)/config/rules.mk
INCLUDES += -I$(srcdir)/. -I$(DEPTH)/l10n/us $(GNOME_CFLAGS)
DEFINES += -DNEW_DECODERS -DGNOME_FE
#######################################################################
#
# Set defaults for all platforms. Each OS_ARCH will override this if
# necessary.
#
ifdef BUILD_OFFICIAL
EXTRA_REL_FILES += $(DIST)/bin/vreg $(DEPTH)/l10n/us/xp/bookmark.htm
endif
ifndef BUILD_OFFICIAL
#
# Developers won't need libTrueDoc.so. No point having a dependency
# on this when only official builds (release builds) need this.
#
NO_WEBFONTS = 1
endif
# Only SunOS4 needs two versions NIS and DNS.
NIS_SRC =
NIS_OBJS =
NIS_LIB =
DNS_LIB =
# Only SunOS4 needs separate YP versions.
NEED_YP_VERSION = 0
# Only BSDI, Linux, and SunOS4 need the nls directory.
NEED_NLS = 0
# Only SunOS5 (Solaris) has MCS.
MCS_CMD = true
# Only IRIX 5.x uses this.
EXTRA_POST_LINK_CMD = echo
BASIC_LIBS = \
$(DIST)/lib/libgnuzilla.a \
$(DIST)/lib/libgnuzilla-widgets.a \
$(DIST)/lib/libcnetinit.a \
$(DIST)/lib/libjsurl.a \
$(DIST)/lib/libmarimurl.a \
$(DIST)/lib/libnetwork.a \
$(DIST)/lib/lib$(LITE_PREFIX)lay.a \
$(DIST)/lib/lib$(LITE_PREFIX)rdf.a \
$(DIST)/lib/lib$(LITE_PREFIX)xml.a \
$(DIST)/lib/libxlate.a \
$(DIST)/lib/libmariner.a \
$(DIST)/lib/libxpcom.a \
$(DIST)/lib/libimg.a \
$(NULL)
ifdef MOZ_NATIVE_JPEG
BASIC_LIBS += -ljpeg
else
BASIC_LIBS += $(DIST)/lib/libjpeg.a
endif
BASIC_LIBS += $(DIST)/lib/libjs.a $(DIST)/lib/libmocha.a
ifdef JAVA_OR_OJI
BASIC_LIBS += $(DIST)/lib/libjsj.a
endif
BASIC_LIBS += \
$(DIST)/lib/libmimetype.a \
$(DIST)/lib/libcaps.a \
$(DIST)/lib/libmime.a \
$(DIST)/lib/libprivacy.a \
$(DIST)/lib/libnetcache.a \
$(DIST)/lib/libnetutil.a \
$(DIST)/lib/libnetwork.a \
$(DIST)/lib/libnetcnvts.a \
$(DIST)/lib/libcnetinit.a \
$(DIST)/lib/libabouturl.a \
$(DIST)/lib/lib$(LITE_PREFIX)lay.a \
$(DIST)/lib/libdataurl.a \
$(DIST)/lib/libfileurl.a \
$(DIST)/lib/libftpurl.a \
$(DIST)/lib/libgophurl.a \
$(DIST)/lib/libhttpurl.a \
$(DIST)/lib/libremoturl.a \
$(DIST)/lib/libnetwork.a \
$(DIST)/lib/lib$(LITE_PREFIX)rdf.a \
$(DIST)/lib/lib$(LITE_PREFIX)xml.a \
$(NULL)
ifdef MOZ_LOC_INDEP
BASIC_LIBS += $(DIST)/lib/libli.a
endif
ifdef MOZ_JAVA
JAVA_JMC = $(DIST)/lib/libjmc.a
endif
BASIC_LIBS += $(DIST)/lib/libxp.a
BASIC_LIBS += \
$(JAVA_JMC) \
$(DIST)/lib/libhook.a \
$(DIST)/lib/libparse.a \
$(DIST)/lib/libmisc.a \
$(DIST)/lib/lib$(LITE_PREFIX)pref.a \
$(DIST)/lib/lib$(LITE_PREFIX)i18n.a \
$(DIST)/lib/libpics.a \
$(DIST)/lib/libpwcac.a \
$(DIST)/lib/libreg.a \
$(NULL)
BASIC_LIBS_2 = $(DIST)/lib/lib$(LITE_PREFIX)xp.a $(DIST)/lib/libdbm.a
ifdef MOZ_MAIL_NEWS
BASIC_LIBS += \
$(DIST)/lib/libmsg.a \
$(DIST)/lib/libnet.a \
$(NULL)
endif
# link in the mime stuff again
BASIC_LIBS += \
$(DIST)/lib/libmime.a \
$(DIST)/lib/libnetutil.a \
$(NULL)
ifdef MOZ_MAIL_NEWS
BASIC_LIBS += \
$(DIST)/lib/libaddr.a \
$(NULL)
endif
ifdef MOZ_NEO
BASIC_LIBS += \
$(DIST)/lib/libneo.a \
$(NULL)
endif
ifdef SMART_MAIL
BASIC_LIBS += \
$(DIST)/lib/libpop3url.a \
$(NULL)
endif
ifdef MOZ_MAIL_NEWS
BASIC_LIBS += \
$(DIST)/lib/libmime.a \
$(NULL)
endif
BASIC_LIBS += \
$(DIST)/lib/lib$(LITE_PREFIX)plug.a \
$(DIST)/lib/libxpcom.a \
$(DIST)/lib/libutil.a \
$(DIST)/lib/libfont.a \
$(DIST)/lib/libprgrss.a \
$(NULL)
ifndef NO_LAYERS
BASIC_LIBS += $(DIST)/lib/liblayer.a
endif
########################################################################
# Java
#
ifdef MOZ_JAVA
#
# Monolithic Java
#
BASIC_LIBS += \
$(DIST)/lib/lib$(LITE_PREFIX)applet.a \
$(DIST)/lib/libjrt.a \
$(DIST)/lib/libjmd.a \
$(NULL)
ifdef EDITOR
BASIC_LIBS += $(DIST)/lib/libedtplug.a
endif
BASIC_LIBS += \
$(DIST)/lib/libnsn.a \
$(DIST)/lib/libnsc.a \
$(DIST)/lib/libjpw.a \
$(DIST)/lib/libzpw.a \
$(DIST)/lib/libiawt.a \
$(DIST)/lib/libmmedia.a \
$(DIST)/lib/libsoftupdate.a \
$(DIST)/lib/libcon.a \
$(DIST)/lib/libjbn.a \
$(NULL)
ifdef MOZ_SECURITY
BASIC_LIBS += $(DIST)/lib/libjsl.a
endif
ifdef MOZ_MAIL_NEWS
BASIC_LIBS += $(DIST)/lib/libjsl.a
endif
BASIC_LIBS += $(DIST)/lib/libjrt.a
else # !MOZ_JAVA
#
# OJI
#
ifdef MOZ_OJI
BASIC_LIBS += $(DIST)/lib/liboji.a
ifdef NSJVM
ifdef MOZ_EDITOR
BASIC_LIBS += $(DIST)/lib/libedtplug.a
endif
BASIC_LIBS += $(DIST)/lib/libsoftupdate.a
else # !NSJVM
BASIC_LIBS += \
$(DIST)/lib/libstubsj.a \
$(DIST)/lib/libstubnj.a \
$(NULL)
endif # !NSJVM
BASIC_LIBS += $(DIST)/lib/libprgrss.a \
$(NULL)
else # !MOZ_OJI
# No Monolithic Java, no OJI, just stubs.
BASIC_LIBS += \
$(DIST)/lib/libstubsj.a \
$(DIST)/lib/libstubnj.a \
$(NULL)
endif # !MOZ_OJI
endif # !MOZ_JAVA
ifdef MOZ_NATIVE_ZLIB
BASIC_LIBS += -lz
else
BASIC_LIBS += $(DIST)/lib/libzlib.a
endif
# Post-Java libs
BASIC_LIBS += $(DIST)/lib/libstyle.a
ifdef MOZ_SECURITY
BASIC_LIBS += $(DIST)/lib/libjar.a
else
EXPORT_LIB = $(DIST)/lib/libhtmldlgs.a $(DIST)/lib/libsecfree.a
endif
ifdef MOZ_LDAP
BASIC_LIBS += $(DIST)/lib/libldap.a $(DIST)/lib/liblber.a
endif
BASIC_LIBS += $(DIST)/lib/libhtmldlgs.a $(DIST)/lib/libsecfree.a
EXPORT_LDFLAGS = $(BASIC_LIBS) $(EXPORT_LIB) $(BASIC_LIBS_2) $(NSPR_LIBS) $(OTHER_LIBS)
EXPORT_DEPLIBS = $(BASIC_LIBS) $(EXPORT_LIB) $(BASIC_LIBS_2)
FRANCE_LDFLAGS = $(BASIC_LIBS) $(FRANCE_LIB) $(BASIC_LIBS_2) $(NSPR_LIBS) $(OTHER_LIBS)
FRANCE_DEPLIBS = $(BASIC_LIBS) $(FRANCE_LIB) $(BASIC_LIBS_2)
US_LDFLAGS = $(BASIC_LIBS) $(US_LIB) $(BASIC_LIBS_2) $(NSPR_LIBS) $(OTHER_LIBS)
US_DEPLIBS = $(BASIC_LIBS) $(US_LIB) $(BASIC_LIBS_2)
DSO_EX_LIBS = $(EXPORT_LDFLAGS:$(DIST)/lib/lib%.a=-l%)
DSO_EX_LIBS = $(FRANCE_LDFLAGS:$(DIST)/lib/lib%.a=-l%)
DSO_US_LIBS = $(US_LDFLAGS:$(DIST)/lib/lib%.a=-l%)
#######################################################################
#
# Adjust build based on OS_ARCH.
#
########################################
# IBM Machines
ifeq ($(OS_ARCH),AIX)
CCLD = svxlC -+
#LDFLAGS = -bGhooksyslibs -bGlibpathexec -bGnoproc
LDFLAGS = -bGnoproc
OTHER_LIBS =
US_LDFLAGS += $(AIX_NSPR_LINK)
EXPORT_LDFLAGS += $(AIX_NSPR_LINK)
FRANCE_LDFLAGS += $(AIX_NSPR_LINK)
# Grab the NSPR shared library and the "Patched especially for Netscape" version of libsvld.a
EXTRA_REL_FILES += $(AIX_NSPR) \
$(DEPTH)/config/AIX4.1_libsvld.a \
$(DEPTH)/config/AIX4.1_libc.a \
$(DEPTH)/config/AIX4.2_libc.a \
$(DEPTH)/config/AIX4.1_run_netscape
ifndef NO_WEBFONTS
EXTRA_REL_FILES += $(WEBFONT_DSO)
endif
endif
########################################
# FreeBSD
ifeq ($(OS_ARCH),FreeBSD)
OTHER_LIBS = $(GNOME_LIBS) -lpng -ljpeg -lintl
OTHER_LIBS += -lm $(OS_LIBS)
endif
########################################
# BSDI
ifeq ($(OS_ARCH),BSD_OS)
OTHER_LIBS = -lm $(OS_LIBS)
ifeq ($(OS_RELEASE),2.1)
OTHER_LIBS += -lipc
endif
NEED_NLS = 1
endif
########################################
# HP Machines
ifeq ($(OS_ARCH),HP-UX)
ifeq ($(OS_RELEASE),B.10)
INCLUDES += -I$(srcdir)/.
endif
HPUX_RESOURCE_HACK = -Wp,-H16384
OTHER_LIBS = -L$(DIST)/lib $(OS_LIBS)
ifdef MOZ_EDITOR
EXPORT_DEPLIBS += cxxlink-filter
US_DEPLIBS += cxxlink-filter
CCLD = CC -tl,./cxxlink-filter
ifndef NO_WEBFONTS
EXTRA_REL_FILES += $(WEBFONT_DSO)
endif
#
# On HP, enable SHLIB_PATH
#
EXTRA_POST_LINK_CMD = chatr +s enable
endif
endif
########################################
# SGI Machines
ifeq ($(OS_ARCH),IRIX)
#
# Linker will report that '-lSgm' does not resolve any symbols, but it
# should not be removed. SGI dynamically opens the library depending on
# the setting of some resources (e.g. "useEnhancedFSB")
#
OTHER_LIBS = -lgen -laudio -lm $(OS_LIBS)
#
# On Irix, tag the executable for use by the Indigo Magic Desktop.
# This magic number comes from /usr/lib/filetype/install/netscape.ftr
# shipped by SGI along with their n.nnS version of Mozilla.
#
ifeq ($(OS_RELEASE),5)
EXTRA_POST_LINK_CMD = /usr/sbin/tag 67150
endif
#
# If we are using gtscc, we must use it as the linker, and we
# can only build statically (no shared libs).
#
CCLD = CC
ifdef USE_GTSCC
ifndef NO_GTSCC
CCLD = $(DIST)/bin/gtscc $(GTSCC_LD_OPTIONS) -gtsfile $(DEPTH)/config/$(OBJDIR)/db.gts -gtsrootdir $(DEPTH)
TARGETS = $(OBJDIR)/$(XFE_PROGNAME)-export
endif
endif
ifndef NO_WEBFONTS
EXTRA_REL_FILES += $(WEBFONT_DSO)
endif
endif
########################################
# Linux
ifeq ($(OS_ARCH),Linux)
ifndef USE_AUTOCONF
ifeq ($(USE_PTHREADS),1)
OS_LIBS = -lpthread -lm -ldl -lc
OTHER_LIBS = $(GNOME_LIBS) -ltiff -lgif /usr/lib/libjpeg.so \
-lpng -lz -lpthread
else
OS_LIBS = -lm -ldl
OTHER_LIBS = $(GNOME_LIBS) -ltiff -lgif /usr/lib/libjpeg.so \
-lpng -lz
endif
endif #!USE_AUTOCONF
US_LDFLAGS += -lc
EXPORT_LDFLAGS += -lc
FRANCE_LDFLAGS += -lc
endif
########################################
# NCR SYSV 4.0
ifeq ($(OS_ARCH),NCR)
OTHER_LIBS = -lgen -lm $(OS_LIBS)
endif
########################################
# NEC SYSV 4.2
ifeq ($(OS_ARCH),NEC)
OTHER_LIBS = -lresolv -lgen -lm $(OS_LIBS)
endif
########################################
# Dec Machines
ifeq ($(OS_ARCH),OSF1)
# We would like to link OSF1 static.
# This is because of motif problems (BadMatch errors on non-default visual)
# on 3.2 and 3.0 (and not on 2.0).
# and you get warnings and core dump when pasting into Mozilla.
# Also, libXm must be dynamic, otherwise Japanese text widgets hang
# the process.
# What a delightful state of affairs. -- erik
OTHER_LIBS = -ldnet_stubs -lm -lots $(OS_LIBS)
EXPORT_LDFLAGS = $(BASIC_LIBS) $(EXPORT_LIB) $(BASIC_LIBS_2) $(NSPR_LIBS) $(OTHER_LIBS)
FRANCE_LDFLAGS = $(BASIC_LIBS) $(FRANCE_LIB) $(BASIC_LIBS_2) $(NSPR_LIBS) $(OTHER_LIBS)
US_LDFLAGS = $(BASIC_LIBS) $(US_LIB) $(BASIC_LIBS_2) $(NSPR_LIBS) $(OTHER_LIBS)
ifdef MOZ_EDITOR
#
# OSF's cxx link command will link in _dynamic_ version of two C++
# libraries. This is bad, they are not shipped on a base system.
# So, we call this special hacked driver script to do the job.
#
# NOT TRUE FOR DIGITAL UNIX 4.0 OR GREATER
#CCLD = ./cxxlink-driver -cxx_platform OSF1 -cxx_command cxx
# Hack to add a dependency for executable.
#EXPORT_DEPLIBS += cxxlink-driver
#FRANCE_DEPLIBS += cxxlink-driver
#US_DEPLIBS += cxxlink-driver
# This will also work, but will probably break easily as more C++
# *features* get used (like static constructors - gasp!)
#CCLD = cc
#OTHER_LIBS += /usr/lib/cmplrs/cxx/libcxx.a /usr/lib/cmplrs/cxx/libexc.a
endif
endif
########################################
# SNI ReliantUNIX (SINIX)
ifeq ($(OS_ARCH),ReliantUNIX)
OTHER_LIBS = $(OS_LIBS)
endif
ifeq ($(OS_ARCH),SINIX-N)
OTHER_LIBS = $(OS_LIBS)
endif
########################################
# SCO OpenServer
ifeq ($(OS_ARCH),SCOOS)
OTHER_LIBS = -lm -lPW $(OS_LIBS)
ifdef NEED_XMOS
LIB_XMOS = $(OBJDIR)/Xmos.o
endif
endif
########################################
# Sun Machines
ifeq ($(OS_ARCH),SunOS)
ifeq ($(OS_RELEASE),4.1)
ALL_TARGETS += $(OBJDIR)/$(XFE_PROGNAME)-nis-export \
$(OBJDIR)/$(XFE_PROGNAME)-nis-net-export \
$(OBJDIR)/$(XFE_PROGNAME)-nis-france \
$(OBJDIR)/$(XFE_PROGNAME)-nis-net-france \
$(OBJDIR)/$(XFE_PROGNAME)-nis-us \
$(OBJDIR)/$(XFE_PROGNAME)-nis-net-us \
$(NULL)
OTHER_LIBS =
ifndef NO_WEBFONTS
EXTRA_REL_FILES += $(WEBFONT_DSO)
endif
ifdef MOZ_EDITOR
OTHER_LIBS += -L/tools/ns/lib
#
# Need this guy because the one in libg++.a is broken.
#
BASIC_LIBS += $(OBJDIR)/regex.o
$(OBJDIR)/regex.o: /lib/libc.a
ar x /lib/libc.a regex.o && mv regex.o $@
endif
#
# Need our own popen to fix the SunOS popen problem
#
BASIC_LIBS += $(OBJDIR)/popen.o
CSRCS += popen.c
US_LDFLAGS += -lm
EXPORT_LDFLAGS += -lm
FRANCE_LDFLAGS += -lm
# SunOS had 2 executables. Only the non-nis version need this
NIS_OBJS = $(OBJDIR)/dns-stub.o
NIS_SRCS = dns-stub.c
NIS_LIB = $(NIS_OBJS)
DNS_LIB = -lresolv
# For release only.
# This is only for SunOS as it has both nis and non-nis
# version of the browser packaged together.
EXTRA_EXPORT_OBJS = $(XFE_PROGNAME)-nis-export
EXTRA_FRANCE_OBJS = $(XFE_PROGNAME)-nis-france
EXTRA_US_OBJS = $(XFE_PROGNAME)-nis-us
EXTRA_NETEXPORT_OBJS = $(XFE_PROGNAME)-nis-net-export
NEED_YP_VERSION = 1
NEED_NLS = 1
endif
########################################
ifneq (,$(filter 5 5.5,$(OS_RELEASE)))
USRLIBDIR := /usr/openwin/lib
MCS_CMD = mcs -d
ifeq ($(CPU_ARCH),sparc)
OTHER_LIBS = $(OS_LIBS) -lgen -lresolv -lm
ifndef NO_WEBFONTS
EXTRA_REL_FILES += $(WEBFONT_DSO)
endif
else
OTHER_LIBS = $(OS_LIBS) -lm
LDFLAGS = $(NOMD_CFLAGS)
endif
US_LDFLAGS = -z defs -L$(USRLIBDIR) \
-R$(USRLIBDIR) $(BASIC_LIBS) $(US_LIB) $(BASIC_LIBS_2) \
$(NSPR_LIBS) $(OTHER_LIBS)
EXPORT_LDFLAGS = -z defs -L$(USRLIBDIR) \
-R$(USRLIBDIR) $(BASIC_LIBS) $(EXPORT_LIB) $(BASIC_LIBS_2) \
$(NSPR_LIBS) $(OTHER_LIBS)
FRANCE_LDFLAGS = -z defs -L$(USRLIBDIR) \
-R$(USRLIBDIR) $(BASIC_LIBS) $(FRANCE_LIB) $(BASIC_LIBS_2) \
$(NSPR_LIBS) $(OTHER_LIBS)
endif
endif
########################################
# SCO Unixware 2.1
ifeq ($(OS_ARCH),UNIXWARE)
ifdef NEED_XMOS
LIB_XMOS = $(OBJDIR)/Xmos.o
endif
OTHER_LIBS = -lm
US_LDFLAGS += -lresolv -lsocket -lc /usr/ucblib/libucb.a
EXPORT_LDFLAGS += -lresolv -lsocket -lc /usr/ucblib/libucb.a
FRANCE_LDFLAGS += -lresolv -lsocket -lc /usr/ucblib/libucb.a
endif
# Override with autoconf values
OTHER_LIBS = $(GNOME_LIBS) $(OS_LIBS)
#######################################################################
# Rules to build the special MOZ_LITE *.o files
$(TARGETS): $(OBJS)
#
# I moved this to ns/config/rules.mk -mcafee
#
#######################################################################
# Rules to build config*.o files
#- export
$(OBJDIR)/$(LITE_PREFIX)config-export.o: config.c versionn.h Makefile $(OBJS) $(EXPORT_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN} \
-UHAVE_NIS -UFRANCE_VERSION -DEXPORT_VERSION -UUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-net-export.o: config.c versionn.h Makefile $(OBJS) $(EXPORT_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}N \
-UHAVE_NIS -UFRANCE_VERSION -DEXPORT_VERSION -UUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/$(LITE_PREFIX)config-nis-export.o: config.c versionn.h Makefile $(OBJS) $(NIS_OBJS) $(EXPORT_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN} \
-DHAVE_NIS -UFRANCE_VERSION -DEXPORT_VERSION -UUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-nis-net-export.o: config.c versionn.h Makefile $(OBJS) $(NIS_OBJS) $(EXPORT_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}N \
-DHAVE_NIS -UFRANCE_VERSION -DEXPORT_VERSION -UUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-sgi-export.o: config.c versionn.h Makefile $(OBJS) $(EXPORT_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}S \
-UHAVE_NIS -UFRANCE_VERSION -DEXPORT_VERSION -UUS_VERSION -DVENDOR_ANIM
#- france
$(OBJDIR)/$(LITE_PREFIX)config-france.o: config.c versionn.h Makefile $(OBJS) $(FRANCE_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN} \
-UHAVE_NIS -DFRANCE_VERSION -UEXPORT_VERSION -UUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-net-france.o: config.c versionn.h Makefile $(OBJS) $(FRANCE_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}N \
-UHAVE_NIS -DFRANCE_VERSION -UEXPORT_VERSION -UUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/$(LITE_PREFIX)config-nis-france.o: config.c versionn.h Makefile $(OBJS) $(NIS_OBJS) $(FRANCE_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN} \
-DHAVE_NIS -DFRANCE_VERSION -UEXPORT_VERSION -UUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-nis-net-france.o: config.c versionn.h Makefile $(OBJS) $(NIS_OBJS) $(FRANCE_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}N \
-DHAVE_NIS -DFRANCE_VERSION -UEXPORT_VERSION -UUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-sgi-france.o: config.c versionn.h Makefile $(OBJS) $(FRANCE_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}S \
-UHAVE_NIS -DFRANCE_VERSION -UEXPORT_VERSION -UUS_VERSION -DVENDOR_ANIM
#- us
$(OBJDIR)/$(LITE_PREFIX)config-us.o: config.c versionn.h Makefile $(OBJS) $(US_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN} \
-UHAVE_NIS -UFRANCE_VERSION -UEXPORT_VERSION -DUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-net-us.o: config.c versionn.h Makefile $(OBJS) $(US_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}N \
-UHAVE_NIS -UFRANCE_VERSION -UEXPORT_VERSION -DUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/$(LITE_PREFIX)config-nis-us.o: config.c versionn.h Makefile $(OBJS) $(NIS_OBJS) $(US_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN} \
-DHAVE_NIS -UFRANCE_VERSION -UEXPORT_VERSION -DUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-nis-net-us.o: config.c versionn.h Makefile $(OBJS) $(NIS_OBJS) $(US_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}N \
-DHAVE_NIS -UFRANCE_VERSION -UEXPORT_VERSION -DUS_VERSION -UVENDOR_ANIM
$(OBJDIR)/config-sgi-us.o: config.c versionn.h Makefile $(OBJS) $(US_DEPLIBS)
@echo Generating $@ from config.c...; \
X=' '; \
VN=`sed -n$$X 's/^#define VERSION_NUMBER[ ]*\(.*\)$$/\1/p' versionn.h` ; \
$(CC) -c $(CFLAGS) -o $@ config.c \
-DCONFIG="$(GUESS_CONFIG)" \
-DDATE="`date +%d-%h-%y`" \
-DVERSION=$${VN}S \
-UHAVE_NIS -UFRANCE_VERSION -UEXPORT_VERSION -DUS_VERSION -DVENDOR_ANIM
#######################################################################
# Rules to build license.o files
$(OBJDIR)/license.o: $(OBJDIR)/LICENSE.c Makefile
$(CC) -c -o $@ $<
$(OBJDIR)/LICENSE.c: Makefile $(LICENSES) make-license
@./make-license $@ $(LICENSE_DIR) "" export
$(OBJDIR)/LICENSE: $(OBJDIR)/license.o make-license
@./make-license $@ $(LICENSE_DIR) "" export
#######################################################################
# Rules to build README files ( release specific )
$(OBJDIR)/README: README.tmpl versionn.h
@rm -f $@
@echo "Generating $@ from $<..."; \
CLASS="Netscape"; \
NAME="Netscape"; \
PROGNAME="netscape"; \
PRODUCT="$(PRODUCT_NAME)"; \
VN=`sed -n 's/^#define VERSION_NUMBER *\(.*\)$$/\1/p' versionn.h`; \
VERS=`echo $$VN$$vsuffix`; \
sed "s/@NAME@/$$NAME/g; \
s/@CLASS@/$$CLASS/g; \
s/@PROGNAME@/$$PROGNAME/g; \
s/@PRODUCT@/$$PRODUCT/g; \
s/@VERSION@/$$VERS/g; \
s/@URLVERSION@/$$VERS/g" $< > $@
#######################################################################
# Rules to build resources
.SUFFIXES: .ad
# DO NOT CHANGE THE ORDER OF THE DEPENDENCIES. Add new ones to the end.
resources-%.o: RESOURCES-%.c Makefile
$(CC) -c $(HPUX_RESOURCE_HACK) -o $@ $<
RESOURCES-%.c: Netscape-%.ad ad2c Makefile
@echo 'char *fe_fallbackResources[] = {' > $@; \
$(srcdir)/ad2c $< >> $@; \
echo '0};' >> $@
# Explicit dependency list to ensure that e_kit_resources.h gets built.
$(OBJDIR)/e_kit.o: e_kit.c e_kit_resources.h
# Turn ekit app-defaults into a C file
e_kit_resources.h: e_kit.ad
@echo 'char* fe_ekitDefaultDatabase = ' > $@
cat $< | tr '[\001-\272]' '[\106-\377]' | \
od -b | sed 's/^[0-7][0-7]* *\(.*\)/\\\1/; \
s/ /\\/g;s/\(.*\)/ "\1"/;s/^ *"\\"$$//' >> $@
@echo ';' >> $@
#- export
$(OBJDIR)/Netscape-nis-export.ad $(OBJDIR)/Netscape-export.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "" export $(LOCALES)
$(OBJDIR)/Netscape-nis-net-export.ad $(OBJDIR)/Netscape-net-export.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "N" export $(LOCALES)
$(OBJDIR)/Netscape-sgi-export.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "S" export $(LOCALES)
#- france
$(OBJDIR)/Netscape-nis-france.ad $(OBJDIR)/Netscape-france.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "" france $(LOCALES)
$(OBJDIR)/Netscape-nis-net-france.ad $(OBJDIR)/Netscape-net-france.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "N" france $(LOCALES)
$(OBJDIR)/Netscape-sgi-france.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "S" france $(LOCALES)
#- us
$(OBJDIR)/Netscape-nis-us.ad $(OBJDIR)/Netscape-us.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "" us $(LOCALES)
$(OBJDIR)/Netscape-nis-net-us.ad $(OBJDIR)/Netscape-net-us.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "N" us $(LOCALES)
$(OBJDIR)/Netscape-sgi-us.ad: Makefile resources versionn.h strs make-resources $(LOCALE_MAP)
@./make-resources $@ Netscape Netscape "S" us $(LOCALES)
#######################################################################
# The "-export" DSO targets follow
$(OBJDIR)/$(DSO_PROGNAME)-export: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(EXPORT_OBJS) -L$(DIST)/bin -L$(DIST)/lib $(DSO_EX_LIBS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(DSO_PROGNAME)-export.mcv: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(CFLAGS) $(OBJS) $(EXPORT_OBJS) -L$(DIST)/bin -L$(DIST)/lib $(DSO_EX_LIBS) $(DNS_LIB) -lmalloc_cv
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(DSO_PROGNAME)-export.pure: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(PURIFY) $(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(EXPORT_OBJS) -L$(DIST)/bin -L$(DIST)/lib $(DSO_EX_LIBS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(DSO_PROGNAME)-export.quantify: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(QUANTIFY) $(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(EXPORT_OBJS) -L$(DIST)/bin -L$(DIST)/lib $(DSO_EX_LIBS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
#------------------ the "-us" DSO link targets follow ------------------- #
$(OBJDIR)/$(DSO_PROGNAME)-us: $(OBJS) $(US_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(US_OBJS) -L$(DIST)/bin -L$(DIST)/lib $(DSO_US_LIBS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(DSO_PROGNAME)-us.pure: $(OBJS) $(US_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(PURIFY) $(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(US_OBJS) -L$(DIST)/bin -L$(DIST)/lib $(DSO_US_LIBS) $(DNS_LIB) @$(EXTRA_POST_LINK_CMD) $@
#------------------ the "-export" XFE link targets follow ------------------- #
$(OBJDIR)/$(XFE_PROGNAME)-export: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(EXPORT_OBJS) $(EXPORT_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-export.pure: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(PURIFY) $(CCLD) -o $@ $(NOMD_LDFLAGS) $(OBJS) $(EXPORT_OBJS) $(EXPORT_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-export.quantify: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(QUANTIFY) $(CCLD) -o $@ $(NOMD_LDFLAGS) $(OBJS) $(EXPORT_OBJS) $(EXPORT_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-export.prof: $(OBJS) $(EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -p -o $@ $(LDFLAGS) $(OBJS) $(EXPORT_OBJS) $(EXPORT_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
#------------------ the "-france" XFE targets follow ---------------- #
ifndef USE_WACKER
$(OBJDIR)/$(XFE_PROGNAME)-france: $(OBJS) $(FRANCE_OBJS) $(FRANCE_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(FRANCE_OBJS) $(FRANCE_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
else
$(OBJDIR)/$(XFE_PROGNAME)-france: $(OBJDIR)/$(XFE_PROGNAME)-export $(XPDIST)/xpdist/france.txt $(DIST)/bin/patcher
@$(MAKE_OBJDIR)
rm -f $@
$(DIST)/bin/patcher $(XPDIST)/xpdist/france.txt $(OBJDIR)/$(XFE_PROGNAME)-export $@
endif
#------------------ the "-us" link XFE targets follow ------------------- #
$(OBJDIR)/$(XFE_PROGNAME)-us: $(OBJS) $(US_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(US_OBJS) $(US_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-us-ld: $(OBJS) $(US_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(LD) -o $@ $(OBJS) $(US_OBJS) $(US_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-us.pure: $(OBJS) $(US_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(PURIFY) $(CCLD) -o $@ $(NOMD_LDFLAGS) $(OBJS) $(US_OBJS) $(US_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
#------------------ the "-net" XFE link targets follow ------------------- #
$(OBJDIR)/$(XFE_PROGNAME)-net-export: $(OBJS) $(NET_EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(NET_EXPORT_OBJS) $(EXPORT_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-net-us: $(OBJS) $(NET_US_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(NET_US_OBJS) $(US_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
ifndef USE_WACKER
$(OBJDIR)/$(XFE_PROGNAME)-net-france: $(OBJS) $(NET_FRANCE_OBJS) $(FRANCE_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(NET_FRANCE_OBJS) $(FRANCE_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
else
$(OBJDIR)/$(XFE_PROGNAME)-net-france: $(OBJDIR)/$(XFE_PROGNAME)-net-export $(XPDIST)/xpdist/france.txt $(DIST)/bin/patcher
@$(MAKE_OBJDIR)
rm -f $@
$(DIST)/bin/patcher $(XPDIST)/xpdist/france.txt $(OBJDIR)/$(XFE_PROGNAME)-net-export $@
endif
#------------------ the "-nis" XFE link targets follow ------------------- #
$(OBJDIR)/$(XFE_PROGNAME)-nis-export: $(OBJS) $(NIS_EXPORT_OBJS) $(NIS_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(NIS_EXPORT_OBJS) $(EXPORT_LDFLAGS) $(NIS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-nis-france: $(OBJS) $(NIS_FRANCE_OBJS) $(NIS_OBJS) $(FRANCE_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(NIS_FRANCE_OBJS) $(EXPORT_LDFLAGS) $(NIS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-nis-us: $(OBJS) $(NIS_US_OBJS) $(NIS_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(NIS_US_OBJS) $(US_LDFLAGS) $(NIS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-nis-net-export: $(OBJS) $(NIS_EXPORT_OBJS) $(NIS_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(NIS_EXPORT_OBJS) $(EXPORT_LDFLAGS) $(NIS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
#------------------ the "-nis-net" XFE link targets follow ---------------- #
$(OBJDIR)/$(XFE_PROGNAME)-nis-net-us: $(OBJS) $(NIS_US_OBJS) $(NIS_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(NIS_US_OBJS) $(US_LDFLAGS) $(NIS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
#-------------- SGI versions of the navigator (no nis, no net) ------------#
$(OBJDIR)/$(XFE_PROGNAME)-sgi-export: $(OBJS) $(SGI_EXPORT_OBJS) $(EXPORT_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(SGI_EXPORT_OBJS) $(EXPORT_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
$(OBJDIR)/$(XFE_PROGNAME)-sgi-us: $(OBJS) $(SGI_US_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(SGI_US_OBJS) $(US_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
ifndef USE_WACKER
$(OBJDIR)/$(XFE_PROGNAME)-sgi-france: $(OBJS) $(SGI_FRANCE_OBJS) $(FRANCE_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
$(CCLD) -o $@ $(LDFLAGS) $(OBJS) $(SGI_FRANCE_OBJS) $(FRANCE_LDFLAGS) $(DNS_LIB)
@$(EXTRA_POST_LINK_CMD) $@
else
$(OBJDIR)/$(XFE_PROGNAME)-sgi-france: $(OBJDIR)/$(XFE_PROGNAME)-sgi-export $(XPDIST)/xpdist/france.txt $(DIST)/bin/patcher
@$(MAKE_OBJDIR)
rm -f $@
$(DIST)/bin/patcher $(XPDIST)/xpdist/france.txt $(OBJDIR)/$(XFE_PROGNAME)-sgi-export $@
endif
#---------------- Misc link targets follow ----------------------#
# Make a dynamic export executable using malloc_cv by default.
mcv: $(OBJDIR)/$(DSO_PROGNAME)-export $(OBJDIR)/$(DSO_PROGNAME)-export.mcv
# Make a purified, static export executable by default.
pure: $(OBJDIR)/$(XFE_PROGNAME)-export $(OBJDIR)/$(XFE_PROGNAME)-export.pure
# Trying out quantify.
quantify: $(OBJDIR)/$(XFE_PROGNAME)-export $(OBJDIR)/$(XFE_PROGNAME)-export.quantify
# Use gtscc to find dead code globals.
unreferenced: $(OBJS) $(NET_EXPORT_OBJS) $(BASIC_LIBS) $(EXPORT_LIB) $(BASIC_LIBS_2) $(DIST)/bin/gtscc
@$(MAKE_OBJDIR)
rm -f $@
$(DIST)/bin/gtscc -gtsrootdir $(DEPTH) -gtsdump -gtsnorecompile -gtsnolink $(DEPTH) $(OBJS) $(NET_EXPORT_OBJS) $(BASIC_LIBS) $(EXPORT_LIB) $(BASIC_LIBS_2) $(NSPR_LIBS) | awk -n '/ 0 0 / { print $$5 " " $$1 }' | sort > $@
# Some dependencies that -MDupdate isn't getting.
$(OBJDIR)/strids.o: xfe_err.h
$(OBJDIR)/strings.o: xfe_err.h
ifeq ($(OS_ARCH),AIX)
AIX_HACK := $(notdir $(AIX_NSPR))
# Install nspr dynamic library for AIX.
$(AIX_HACK): $(AIX_NSPR)
$(INSTALL) -m 644 $< .
endif
install:: $(AIX_HACK) $(EXTRA_REL_FILES) $(TARGETS)
ifdef TARGETS
$(INSTALL) $(TARGETS) $(DIST)/bin
endif
#######################################################################
# Release target
ifdef AUTOADMIN_DSO
$(AUTOADMIN_DSO):
@cd $(DEPTH)/modules/libpref/admin; $(MAKE) POLARIS=1 polaris
endif
$(PLUGIN_DSO):
@cd plugins/nullplugin; $(MAKE)
ifdef TEST_PLUGIN
$(TEST_PLUGIN):
@cd plugins/textplugin; $(MAKE)
endif
$(DIST)/bin/zigbert$(BIN_SUFFIX):
@cd $(DEPTH)/security/cmd/lib; $(MAKE)
@cd $(DEPTH)/security/cmd/jar; $(MAKE)
$(DEPTH)/tpubs/$(NETHELP_DIR)/nethelp.tar.gz:
@cd $(DEPTH)/tpubs/$(NETHELP_DIR); $(MAKE) release
ifdef USE_SPELLCHECK
$(DEPTH)/modules/spellchk/data/spellchk.tar.gz:
@cd $(DEPTH)/modules/spellchk/data; $(MAKE) release
endif
release:: $(RELEASES)
release-us: $(XFE_PROGNAME)-us $(EXTRA_US_OBJS) $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "" us $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) "$(EXTRA_US_BINARY) $(EXTRA_REL_FILES)" $(README_FILE)
release-export: $(XFE_PROGNAME)-export $(EXTRA_EXPORT_OBJS) $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "" export $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) "$(EXTRA_EXPORT_BINARY) $(EXTRA_REL_FILES)" $(README_FILE)
release-france: $(XFE_PROGNAME)-france $(EXTRA_FRANCE_OBJS) $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "" france $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) "$(EXTRA_FRANCE_BINARY) $(EXTRA_REL_FILES)" $(README_FILE)
#---------------- release-net targets follow --------------------#
release-net-us: $(XFE_PROGNAME)-net-us $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "N" net-us $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) "$(EXTRA_REL_FILES)" $(README_FILE)
release-net-export: $(XFE_PROGNAME)-net-export $(EXTRA_NETEXPORT_OBJS) $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "N" net-export $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) "$(EXTRA_REL_FILES)" $(README_FILE)
release-net-france: $(XFE_PROGNAME)-net-france $(EXTRA_NETEXPORT_OBJS) $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "N" net-france $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) "$(EXTRA_REL_FILES)" $(README_FILE)
#---------------- release-sgi targets follow --------------------#
release-sgi-us: $(XFE_PROGNAME)-sgi-us $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "S" sgi-us $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) $(EXTRA_REL_FILES) $(README_FILE)
release-sgi-export: $(XFE_PROGNAME)-sgi-export $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "S" sgi-export $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) "$(EXTRA_REL_FILES)" $(README_FILE)
release-sgi-france: $(XFE_PROGNAME)-sgi-france $(COMMON_REL_DEPS)
./make-release $(OBJDIR) $(XFE_PROGNAME) Netscape "S" sgi-france $(GUESS_CONFIG) $(NEED_YP_VERSION) "$(MCS_CMD)" $(NEED_NLS) "$(EXTRA_REL_FILES)" $(README_FILE)
# skip java50.jar building
java50.jar:
#
# symbols.gts for Irix, used by gtscc driver. The file needs to
# be stored in ns/config/symbols.gts. There should be a version
# checked in there. Use this rule only if you get link errors for
# C++ members functions which you reference globally.
# This rule is designed to work on IRIX or Solaris. If it works
# elsewhere fine, but... djw Feb/14/97
#
$(OBJDIR)/symbols.gts: $(OBJS) $(US_OBJS) $(US_DEPLIBS)
@$(MAKE_OBJDIR)
rm -f $@
nm -p $(OBJS) $(US_OBJS) $(US_DEPLIBS) > $(OBJDIR)/gts_a
sed -n 's%.* T \(.*\)%\1%p' $(OBJDIR)/gts_a | sort -u > $(OBJDIR)/gts_d
sed -n 's%.* U \(.*\)%\1%p' $(OBJDIR)/gts_a | sort -u > $(OBJDIR)/gts_u
comm -23 $(OBJDIR)/gts_d $(OBJDIR)/gts_u > $@
rm -f $(OBJDIR)/gts_d $(OBJDIR)/gts_u $(OBJDIR)/gts_a
symbols.gts: $(OBJDIR)/symbols.gts
export:: $(JAR_NAME)
$(VERSION_OBJS): versionn.h
everything: all $(ALL_TARGETS)
symbols:
@echo "ALL_TARGETS = $(ALL_TARGETS)"
@echo "RELEASES = $(RELEASES)"
@echo "OS_ARCH = $(OS_ARCH)"