1999-12-15 09:40:24 +00:00
|
|
|
#
|
1999-11-06 03:43:54 +00:00
|
|
|
# The contents of this file are subject to the Netscape Public
|
|
|
|
# License Version 1.1 (the "License"); you may not use this file
|
|
|
|
# except in compliance with the License. You may obtain a copy of
|
|
|
|
# the License at http://www.mozilla.org/NPL/
|
1998-08-21 03:34:44 +00:00
|
|
|
#
|
1999-11-06 03:43:54 +00:00
|
|
|
# Software distributed under the License is distributed on an "AS
|
|
|
|
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
|
|
# implied. See the License for the specific language governing
|
|
|
|
# rights and limitations under the License.
|
1998-08-21 03:34:44 +00:00
|
|
|
#
|
1999-11-06 03:43:54 +00:00
|
|
|
# The Original Code is mozilla.org code.
|
|
|
|
#
|
|
|
|
# The Initial Developer of the Original Code is Netscape
|
1998-08-21 03:34:44 +00:00
|
|
|
# Communications Corporation. Portions created by Netscape are
|
1999-11-06 03:43:54 +00:00
|
|
|
# Copyright (C) 1998 Netscape Communications Corporation. All
|
|
|
|
# Rights Reserved.
|
|
|
|
#
|
|
|
|
# Contributor(s):
|
1998-08-21 03:34:44 +00:00
|
|
|
#
|
|
|
|
|
|
|
|
DEPTH = .
|
|
|
|
topsrcdir = @top_srcdir@
|
|
|
|
srcdir = @srcdir@
|
|
|
|
VPATH = @srcdir@
|
|
|
|
|
|
|
|
include $(DEPTH)/config/autoconf.mk
|
|
|
|
|
2000-04-18 09:42:12 +00:00
|
|
|
include $(topsrcdir)/build/unix/modules.mk
|
|
|
|
|
2002-10-25 05:59:52 +00:00
|
|
|
ifeq ($(BUILD_MODULES),all)
|
2001-11-16 07:40:42 +00:00
|
|
|
#
|
|
|
|
# And now for something completely different...
|
|
|
|
# Divide the default build into tiers.
|
|
|
|
# Tiers must be defined on module boundaries
|
|
|
|
#
|
2001-11-21 07:10:52 +00:00
|
|
|
default: $(SUBMAKEFILES)
|
2002-09-12 20:05:28 +00:00
|
|
|
$(MAKE) -C config export
|
2002-01-25 22:29:51 +00:00
|
|
|
$(MAKE) nspr
|
|
|
|
$(MAKE) ldap
|
2002-09-12 20:05:28 +00:00
|
|
|
$(MAKE) tier_0
|
2001-12-10 06:13:54 +00:00
|
|
|
$(MAKE) tier_1
|
2002-05-02 22:53:30 +00:00
|
|
|
$(MAKE) tier_2
|
2001-12-10 06:13:54 +00:00
|
|
|
$(MAKE) tier_9
|
2002-03-19 22:30:48 +00:00
|
|
|
ifdef MOZ_EXTENSIONS
|
|
|
|
$(MAKE) tier_94
|
|
|
|
endif
|
2001-12-10 06:13:54 +00:00
|
|
|
ifdef MOZ_PSM
|
|
|
|
$(MAKE) tier_95
|
|
|
|
endif
|
|
|
|
ifdef MOZ_MAIL_NEWS
|
|
|
|
$(MAKE) tier_97
|
|
|
|
endif
|
|
|
|
ifdef MOZ_CALENDAR
|
|
|
|
$(MAKE) tier_98
|
|
|
|
endif
|
|
|
|
$(MAKE) tier_99
|
1998-11-11 01:53:49 +00:00
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
# Make sure that the existing rulesets work
|
2002-01-25 22:29:51 +00:00
|
|
|
DIRS = \
|
2001-12-10 06:25:40 +00:00
|
|
|
$(tier_0_dirs) \
|
|
|
|
$(tier_1_dirs) \
|
2002-05-02 22:53:30 +00:00
|
|
|
$(tier_2_dirs) \
|
2001-12-10 06:25:40 +00:00
|
|
|
$(tier_9_dirs) \
|
|
|
|
$(NULL)
|
|
|
|
|
2002-01-25 22:29:51 +00:00
|
|
|
ifdef GC_LEAK_DETECTOR
|
|
|
|
DIRS += gc/boehm
|
2001-12-10 08:06:51 +00:00
|
|
|
endif
|
|
|
|
|
2002-03-19 22:30:48 +00:00
|
|
|
ifdef MOZ_EXTENSIONS
|
|
|
|
DIRS += $(tier_94_dirs)
|
|
|
|
endif
|
2001-12-10 06:25:40 +00:00
|
|
|
ifdef MOZ_PSM
|
|
|
|
DIRS += $(tier_95_dirs)
|
|
|
|
endif
|
|
|
|
ifdef MOZ_MAIL_NEWS
|
|
|
|
DIRS += $(tier_97_dirs)
|
|
|
|
endif
|
|
|
|
ifdef MOZ_CALENDAR
|
|
|
|
DIRS += $(tier_98_dirs)
|
|
|
|
endif
|
|
|
|
|
|
|
|
DIRS += $(tier_99_dirs)
|
1999-10-08 01:32:44 +00:00
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
#
|
|
|
|
# tier 0 - base build config dirs
|
|
|
|
#
|
|
|
|
tier_0_dirs = \
|
|
|
|
config \
|
|
|
|
build \
|
|
|
|
include \
|
|
|
|
$(NULL)
|
1999-10-18 23:14:16 +00:00
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
#
|
2002-05-02 22:53:30 +00:00
|
|
|
# tier 1 - 3rd party individual libraries
|
2001-12-10 04:30:31 +00:00
|
|
|
#
|
2002-05-02 22:53:30 +00:00
|
|
|
tier_1_dirs += dbm
|
2001-12-10 04:30:31 +00:00
|
|
|
|
2002-05-02 22:53:30 +00:00
|
|
|
ifndef MOZ_NATIVE_JPEG
|
|
|
|
tier_1_dirs += jpeg
|
|
|
|
endif
|
2000-05-20 02:45:59 +00:00
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
ifndef MOZ_NATIVE_ZLIB
|
2002-05-02 22:53:30 +00:00
|
|
|
tier_1_dirs += modules/zlib
|
2000-05-20 02:45:59 +00:00
|
|
|
endif
|
1998-11-11 01:53:49 +00:00
|
|
|
|
2001-12-18 09:14:29 +00:00
|
|
|
# Installer needs standalone libjar, hence standalone zlib
|
2002-05-31 00:39:07 +00:00
|
|
|
ifdef MOZ_INSTALLER
|
2002-05-02 22:53:30 +00:00
|
|
|
tier_1_dirs += modules/zlib/standalone
|
2001-05-15 20:42:29 +00:00
|
|
|
endif
|
|
|
|
|
2002-05-02 22:53:30 +00:00
|
|
|
ifdef MOZ_INTERNAL_LIBART_LGPL
|
|
|
|
tier_1_dirs += other-licenses/libart_lgpl
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# tier 2 - base libraries
|
|
|
|
#
|
|
|
|
tier_2_dirs = js
|
|
|
|
|
|
|
|
# MacOSX needs to build lib for MoreFiles before xpcom
|
|
|
|
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
|
|
|
|
tier_2_dirs += lib/mac/MoreFiles
|
|
|
|
endif
|
|
|
|
|
|
|
|
tier_2_dirs += \
|
|
|
|
modules/libreg \
|
|
|
|
string \
|
|
|
|
xpcom \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
#
|
|
|
|
# tier 9 - core components (necko,gecko)
|
|
|
|
#
|
|
|
|
|
|
|
|
tier_9_dirs += \
|
|
|
|
js/src/xpconnect \
|
|
|
|
intl \
|
|
|
|
modules/libjar \
|
|
|
|
$(NULL)
|
2001-11-16 07:40:42 +00:00
|
|
|
|
|
|
|
ifdef MOZ_OJI
|
|
|
|
tier_9_dirs += js/src/liveconnect
|
2001-11-05 12:08:31 +00:00
|
|
|
endif
|
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
ifdef MOZ_JSDEBUGGER
|
|
|
|
tier_9_dirs += js/jsd
|
2001-11-05 12:08:31 +00:00
|
|
|
endif
|
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
ifdef MOZ_ENABLE_XLIB
|
|
|
|
tier_9_dirs += gfx/src/xlibrgb widget/src/xlibxtbin
|
2000-08-19 23:33:23 +00:00
|
|
|
endif
|
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
ifdef MOZ_ENABLE_GTK
|
|
|
|
tier_9_dirs += widget/src/gtksuperwin widget/src/gtkxtbin
|
|
|
|
endif
|
|
|
|
|
2002-09-18 02:43:54 +00:00
|
|
|
ifdef MOZ_ENABLE_GTK2
|
|
|
|
tier_9_dirs += widget/src/gtkxtbin
|
|
|
|
endif
|
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
tier_9_dirs += \
|
1999-12-21 23:55:04 +00:00
|
|
|
modules/libutil \
|
2000-09-14 19:27:23 +00:00
|
|
|
netwerk \
|
2000-09-22 03:46:18 +00:00
|
|
|
modules/mpfilelocprovider \
|
1999-11-18 06:03:27 +00:00
|
|
|
uriloader \
|
1999-09-08 22:59:23 +00:00
|
|
|
modules/libpref \
|
|
|
|
modules/libimg \
|
|
|
|
modules/oji \
|
|
|
|
caps \
|
2001-02-22 03:01:34 +00:00
|
|
|
rdf \
|
1999-09-08 22:59:23 +00:00
|
|
|
expat \
|
|
|
|
htmlparser \
|
|
|
|
gfx \
|
2001-08-12 00:38:38 +00:00
|
|
|
modules/libpr0n \
|
2000-07-22 01:27:15 +00:00
|
|
|
modules/plugin \
|
1999-09-08 22:59:23 +00:00
|
|
|
dom \
|
|
|
|
view \
|
|
|
|
widget \
|
2001-02-19 21:50:04 +00:00
|
|
|
content \
|
1999-09-08 22:59:23 +00:00
|
|
|
layout \
|
|
|
|
db \
|
1999-11-29 22:22:20 +00:00
|
|
|
docshell \
|
1999-09-08 22:59:23 +00:00
|
|
|
webshell \
|
2000-08-10 07:07:13 +00:00
|
|
|
embedding \
|
1999-09-08 22:59:23 +00:00
|
|
|
editor \
|
|
|
|
sun-java \
|
|
|
|
profile \
|
2000-08-10 06:43:05 +00:00
|
|
|
themes \
|
1999-09-08 22:59:23 +00:00
|
|
|
$(NULL)
|
1998-11-18 22:35:21 +00:00
|
|
|
|
2001-08-17 03:13:07 +00:00
|
|
|
ifdef ACCESSIBILITY
|
2001-11-16 07:40:42 +00:00
|
|
|
tier_9_dirs += accessible
|
2001-08-17 03:13:07 +00:00
|
|
|
endif
|
|
|
|
|
2001-12-10 04:30:31 +00:00
|
|
|
ifdef MOZ_LDAP_XPCOM
|
2001-12-10 08:06:51 +00:00
|
|
|
tier_9_dirs += directory/xpcom
|
2001-12-10 04:30:31 +00:00
|
|
|
endif
|
|
|
|
|
2000-03-04 01:50:50 +00:00
|
|
|
# This must preceed xpfe
|
|
|
|
ifdef MOZ_JPROF
|
2001-11-16 07:40:42 +00:00
|
|
|
tier_9_dirs += tools/jprof
|
2000-03-04 01:50:50 +00:00
|
|
|
endif
|
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
tier_9_dirs += xpfe xpinstall
|
2001-04-19 03:00:55 +00:00
|
|
|
|
1999-09-25 20:44:48 +00:00
|
|
|
ifdef MOZ_LEAKY
|
2001-11-16 07:40:42 +00:00
|
|
|
tier_9_dirs += tools/leaky
|
1999-09-25 20:44:48 +00:00
|
|
|
endif
|
|
|
|
|
2001-09-08 18:29:24 +00:00
|
|
|
ifdef NS_TRACE_MALLOC
|
2001-11-16 07:40:42 +00:00
|
|
|
tier_9_dirs += tools/trace-malloc
|
2001-09-08 18:29:24 +00:00
|
|
|
endif
|
|
|
|
|
2002-10-07 19:09:05 +00:00
|
|
|
ifdef MOZ_MAPINFO
|
|
|
|
tier_9_dirs += tools/codesighs
|
|
|
|
endif
|
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
tier_9_dirs += l10n
|
2000-06-27 00:24:48 +00:00
|
|
|
|
2002-08-07 06:37:13 +00:00
|
|
|
ifdef MOZ_PHOENIX
|
2002-09-02 04:03:07 +00:00
|
|
|
tier_9_dirs += toolkit
|
2002-08-07 06:37:13 +00:00
|
|
|
endif
|
|
|
|
|
2001-12-10 04:30:31 +00:00
|
|
|
#
|
|
|
|
# tier 9x - application features
|
|
|
|
#
|
|
|
|
|
2002-03-19 22:30:48 +00:00
|
|
|
ifdef MOZ_EXTENSIONS
|
|
|
|
tier_94_dirs += extensions
|
|
|
|
endif
|
|
|
|
|
2001-12-10 04:30:31 +00:00
|
|
|
ifdef MOZ_PSM
|
|
|
|
tier_95_dirs += security/manager
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef MOZ_MAIL_NEWS
|
|
|
|
tier_97_dirs += mailnews
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef MOZ_CALENDAR
|
|
|
|
tier_98_dirs += calendar
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# tier 99 - application binaries
|
|
|
|
#
|
|
|
|
|
2001-06-20 20:21:49 +00:00
|
|
|
ifneq (,$(MOZ_STATIC_COMPONENTS)$(MOZ_META_COMPONENTS))
|
2001-12-10 04:30:31 +00:00
|
|
|
tier_99_dirs += modules/staticmod
|
2001-11-13 07:57:31 +00:00
|
|
|
endif
|
|
|
|
|
2002-09-02 04:03:07 +00:00
|
|
|
ifdef MOZ_PHOENIX
|
|
|
|
tier_99_dirs += browser
|
|
|
|
else
|
2001-12-10 04:30:31 +00:00
|
|
|
tier_99_dirs += xpfe/bootstrap
|
2002-09-02 04:03:07 +00:00
|
|
|
endif
|
2001-04-28 17:26:54 +00:00
|
|
|
|
2002-01-25 03:33:27 +00:00
|
|
|
ifdef MOZ_ENABLE_GTK
|
2002-01-24 23:09:31 +00:00
|
|
|
tier_99_dirs += embedding/browser/gtk/tests
|
|
|
|
endif
|
|
|
|
|
2002-10-25 05:59:52 +00:00
|
|
|
else
|
2000-04-18 09:42:12 +00:00
|
|
|
|
2002-10-25 05:59:52 +00:00
|
|
|
# Standalone build
|
2000-05-03 22:49:47 +00:00
|
|
|
|
2002-10-25 05:59:52 +00:00
|
|
|
DIRS = $(BUILD_MODULE_DIRS)
|
|
|
|
|
2002-10-25 09:48:06 +00:00
|
|
|
# Hack to generate xpidl Makefile
|
|
|
|
ifneq ($(BUILD_MODULES),all)
|
|
|
|
ifneq (,$(findstring xpcom, $(BUILD_MODULE_DIRS)))
|
|
|
|
DIRS := xpcom/typelib $(DIRS)
|
|
|
|
SUBMAKEFILES := xpcom/typelib/Makefile
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2002-10-25 05:59:52 +00:00
|
|
|
default: $(SUBMAKEFILES)
|
|
|
|
$(MAKE) export
|
|
|
|
$(MAKE) libs
|
|
|
|
|
|
|
|
endif # BUILD_MODULES == all
|
|
|
|
|
|
|
|
STATIC_MAKEFILES := nsprpub directory/c-sdk security/nss
|
2001-04-09 09:38:30 +00:00
|
|
|
|
2000-08-30 01:15:32 +00:00
|
|
|
GARBAGE_DIRS += dist
|
2000-03-17 00:49:15 +00:00
|
|
|
DIST_GARBAGE = config.cache config.log config.status config-defs.h \
|
2000-06-12 23:02:14 +00:00
|
|
|
dependencies.beos config/autoconf.mk config/myrules.mk config/myconfig.mk \
|
2002-08-22 00:50:51 +00:00
|
|
|
unallmakefiles mozilla-config.h \
|
2000-07-07 10:34:45 +00:00
|
|
|
$(topsrcdir)/.mozconfig.mk $(topsrcdir)/.mozconfig.out
|
1998-10-28 03:40:33 +00:00
|
|
|
|
2002-10-25 05:59:52 +00:00
|
|
|
# Build pseudo-external modules first when export is explicitly called
|
2002-01-25 22:29:51 +00:00
|
|
|
export::
|
|
|
|
$(MAKE) -C config export
|
|
|
|
$(MAKE) nspr
|
|
|
|
$(MAKE) ldap
|
2002-10-25 05:59:52 +00:00
|
|
|
ifneq ($(BUILD_MODULES),all)
|
|
|
|
ifneq (,$(findstring xpcom, $(BUILD_MODULE_DIRS)))
|
|
|
|
$(MAKE) -C xpcom/typelib
|
|
|
|
$(MAKE) export-idl
|
|
|
|
endif
|
|
|
|
endif
|
2002-04-25 20:40:00 +00:00
|
|
|
|
|
|
|
install::
|
|
|
|
ifndef MOZ_NATIVE_NSPR
|
|
|
|
$(MAKE) -C nsprpub real_install DESTDIR=$(DESTDIR) libdir=$(mozappdir) includedir=$(includedir)/nspr
|
|
|
|
$(RM) -f $(addprefix $(DESTDIR)$(mozappdir)/$(LIB_PREFIX), $(addsuffix .$(LIB_SUFFIX), nspr4 plds4 plc4))
|
|
|
|
$(RM) -f $(addprefix $(DESTDIR)$(bindir)/,nspr-config compile-et.pl prerr.properties)
|
|
|
|
endif
|
|
|
|
ifdef MOZ_LDAP_XPCOM
|
|
|
|
$(MAKE) -C directory/c-sdk real_install DESTDIR=$(DESTDIR) libdir=$(mozappdir) includedir=$(includedir)/ldap
|
|
|
|
endif
|
|
|
|
|
2000-03-14 06:16:27 +00:00
|
|
|
include $(topsrcdir)/config/rules.mk
|
2000-02-23 22:47:39 +00:00
|
|
|
|
2002-10-25 05:59:52 +00:00
|
|
|
# Clean up after pseudo-external modules
|
2002-01-25 22:29:51 +00:00
|
|
|
clean clobber realclean clobber_all distclean::
|
|
|
|
ifndef MOZ_NATIVE_NSPR
|
|
|
|
$(MAKE) -C nsprpub $@
|
|
|
|
endif
|
|
|
|
ifdef MOZ_LDAP_XPCOM
|
2002-03-27 06:31:38 +00:00
|
|
|
$(MAKE) -C directory/c-sdk $@
|
2002-01-25 22:29:51 +00:00
|
|
|
endif
|
|
|
|
|
2001-11-16 07:40:42 +00:00
|
|
|
tier_%:
|
|
|
|
@echo "$@: $($@_dirs)"
|
2001-12-10 06:25:40 +00:00
|
|
|
@$(EXIT_ON_ERROR) \
|
2001-12-10 04:30:31 +00:00
|
|
|
for d in $($@_dirs); do $(UPDATE_TITLE) \
|
|
|
|
$(MAKE) -C $$d export; \
|
|
|
|
done ; \
|
|
|
|
$(PERL) $(MOZILLA_DIR)/config/purge-old-headers.pl $(DIST)/include ;\
|
|
|
|
for d in $($@_dirs); do $(UPDATE_TITLE) \
|
|
|
|
$(MAKE) -C $$d libs; \
|
2001-12-10 06:25:40 +00:00
|
|
|
done
|
2001-11-16 07:40:42 +00:00
|
|
|
#
|
|
|
|
# Individual modules
|
|
|
|
#
|
|
|
|
boehm:
|
|
|
|
ifdef GC_LEAK_DETECTOR
|
|
|
|
$(MAKE) -C gc/boehm
|
|
|
|
endif
|
|
|
|
|
|
|
|
nspr: boehm
|
2002-01-25 22:29:51 +00:00
|
|
|
ifndef MOZ_NATIVE_NSPR
|
|
|
|
$(MAKE) -C nsprpub
|
|
|
|
endif
|
|
|
|
|
|
|
|
ldap:
|
|
|
|
ifdef MOZ_LDAP_XPCOM
|
2002-04-05 03:51:32 +00:00
|
|
|
$(MAKE) -C directory/c-sdk
|
2001-11-16 07:40:42 +00:00
|
|
|
endif
|
|
|
|
|
2001-09-12 06:42:26 +00:00
|
|
|
export::
|
|
|
|
@$(PERL) $(MOZILLA_DIR)/config/purge-old-headers.pl $(DIST)/include
|
|
|
|
|
2000-12-12 21:28:24 +00:00
|
|
|
distclean::
|
|
|
|
cat unallmakefiles | $(XARGS) rm -f
|
|
|
|
rm -f unallmakefiles $(DIST_GARBAGE)
|
2002-03-01 01:01:42 +00:00
|
|
|
|
|
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
|
|
rebase:
|
2002-03-07 08:23:11 +00:00
|
|
|
ifdef MOZILLA_OFFICIAL
|
2002-03-01 01:01:42 +00:00
|
|
|
echo rebasing $(DIST)
|
|
|
|
/bin/find $(DIST) -name "*.dll" > rebase.lst
|
|
|
|
rebase -b 60000000 -R . -G rebase.lst
|
2002-03-07 08:23:11 +00:00
|
|
|
rm rebase.lst
|
2002-03-01 01:01:42 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
splitsymbols:
|
2002-03-07 08:23:11 +00:00
|
|
|
ifdef MOZILLA_OFFICIAL
|
2002-03-01 01:01:42 +00:00
|
|
|
echo splitting symbols out of binaries
|
|
|
|
/bin/find $(DIST) -name "*.dll" -exec splitsym {} \;
|
|
|
|
/bin/find $(DIST) -name "*.exe" -exec splitsym {} \;
|
|
|
|
/bin/find $(DIST) -name "*.EXE" -exec splitsym {} \;
|
|
|
|
endif # MOZILLA_OFFICIAL
|
|
|
|
|
|
|
|
deliver: splitsymbols rebase
|
|
|
|
|
|
|
|
endif # WINNT
|
2002-03-05 15:22:48 +00:00
|
|
|
|