Bug 476245. Keep better track of our anonymous content. r=smaug, sr=jst
[mozilla-central.git] / config / Makefile.in
blobb8dd659f3cd4341e99e0d82765169e4a78bc85c0
2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
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/
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.
15 # The Original Code is mozilla.org code.
17 # The Initial Developer of the Original Code is
18 # Netscape Communications Corporation.
19 # Portions created by the Initial Developer are Copyright (C) 1998
20 # the Initial Developer. All Rights Reserved.
22 # Contributor(s):
23 # Robert Ginda <rginda@netscape.com>
24 # John Taylor <jtaylor@netscape.com>
26 # Alternatively, the contents of this file may be used under the terms of
27 # either of the GNU General Public License Version 2 or later (the "GPL"),
28 # or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 # in which case the provisions of the GPL or the LGPL are applicable instead
30 # of those above. If you wish to allow use of your version of this file only
31 # under the terms of either the GPL or the LGPL, and not to allow others to
32 # use your version of this file under the terms of the MPL, indicate your
33 # decision by deleting the provisions above and replace them with the notice
34 # and other provisions required by the GPL or the LGPL. If you do not delete
35 # the provisions above, a recipient may use your version of this file under
36 # the terms of any one of the MPL, the GPL or the LGPL.
38 # ***** END LICENSE BLOCK *****
40 DEPTH = ..
41 topsrcdir = @top_srcdir@
42 srcdir = @srcdir@
43 VPATH = @srcdir@
45 include $(DEPTH)/config/autoconf.mk
47 # For sanity's sake, we compile nsinstall without the wrapped system
48 # headers, so that we can use it to set up the wrapped system headers.
49 VISIBILITY_FLAGS =
51 ifneq (,$(CROSS_COMPILE)$(filter-out WINNT OS2,$(OS_ARCH)))
52 ifneq ($(OS_ARCH), WINCE)
53 HOST_PROGRAM = nsinstall$(HOST_BIN_SUFFIX)
54 HOST_CSRCS = nsinstall.c pathsub.c
55 endif
56 endif
58 PLSRCS = nfspwd.pl
60 TARGETS = $(HOST_PROGRAM) $(PLSRCS:.pl=) $(SIMPLE_PROGRAMS)
62 ifndef CROSS_COMPILE
63 ifdef USE_ELF_DYNSTR_GC
64 TARGETS += elf-dynstr-gc
65 # Compiling the above will create dependency files.
66 NEED_MDDEPDIR = 1
67 endif
68 endif
70 # IMPORTANT: Disable NSBUILDROOT for this directory only, otherwise we have
71 # a recursive rule for finding nsinstall and the Perl scripts.
72 ifdef NSBUILDROOT
73 override NSBUILDROOT :=
74 endif
76 ifdef GNU_CC
77 MODULE_OPTIMIZE_FLAGS = -O3
78 endif
80 ifndef COMPILER_DEPEND
81 ifndef MOZ_NATIVE_MAKEDEPEND
82 DIRS += mkdepend
83 endif
84 endif
86 include $(topsrcdir)/config/config.mk
88 # Do not install util programs
89 NO_INSTALL=1
91 include $(topsrcdir)/config/rules.mk
93 ifeq ($(OS_CONFIG),SunOS4.1)
94 NSPR_CFLAGS += -I$(srcdir)/../nsprpub/pr/include/md
95 endif
97 HEADERS = \
98 $(DEPTH)/mozilla-config.h \
99 $(srcdir)/nsStaticComponents.h \
100 $(NULL)
102 export:: $(TARGETS) $(HEADERS)
103 $(INSTALL) $(IFLAGS1) $(HEADERS) $(DIST)/include
104 -rm -f $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS) $(FINAL_LINK_COMP_NAMES)
105 -rm -f $(DIST)/bin/chrome/chromelist.txt
106 ifdef HOST_PROGRAM
107 $(INSTALL) $(HOST_PROGRAM) $(DIST)/bin
108 endif
110 # Generate a new buildid every time we "export" in config... that's only
111 # supposed to be once per-build!
112 export::
113 ifdef MOZ_BUILD_DATE
114 printf "%s" $(MOZ_BUILD_DATE) > buildid
115 else
116 $(PYTHON) $(topsrcdir)/toolkit/xre/make-platformini.py --print-buildid > buildid
117 endif
119 ifdef WRAP_SYSTEM_INCLUDES
120 export::
121 if test ! -d system_wrappers; then mkdir system_wrappers; fi
122 $(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \
123 -DBUILD_STATIC_LIBS=$(BUILD_STATIC_LIBS) \
124 -DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
125 -DMOZ_ENABLE_LIBXUL=$(MOZ_ENABLE_LIBXUL) \
126 -DMOZ_NATIVE_HUNSPELL=$(MOZ_NATIVE_HUNSPELL) \
127 -DMOZ_NATIVE_BZ2=$(MOZ_NATIVE_BZ2) \
128 -DMOZ_NATIVE_ZLIB=$(MOZ_NATIVE_ZLIB) \
129 -DMOZ_NATIVE_PNG=$(MOZ_NATIVE_PNG) \
130 -DMOZ_NATIVE_JPEG=$(MOZ_NATIVE_JPEG) \
131 $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
132 $(INSTALL) system_wrappers $(DIST)/include
134 GARBAGE_DIRS += system_wrappers
135 endif
137 install::
138 $(SYSINSTALL) $(IFLAGS1) $(DEPTH)/mozilla-config.h $(DESTDIR)$(includedir)
140 GARBAGE += \
141 $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS) $(FINAL_LINK_COMP_NAMES) buildid $(srcdir)/*.pyc
143 ifndef CROSS_COMPILE
144 ifdef USE_ELF_DYNSTR_GC
145 elf-dynstr-gc: elf-dynstr-gc.c $(GLOBAL_DEPS)
146 $(CC) $(COMPILE_CFLAGS) $(GLIB_CFLAGS) -o $@ $< $(LDFLAGS) $(GLIB_LIBS)
147 endif
148 endif
150 FORCE:
152 ifdef MKDEPEND_DIR
153 clean clobber realclean clobber_all::
154 cd $(MKDEPEND_DIR); $(MAKE) $@
155 endif
157 PYUNITS := unit-Expression.py unit-Preprocessor.py
159 check:: check-preprocessor check-jar-mn
161 check-preprocessor::
162 @$(EXIT_ON_ERROR) \
163 for test in $(PYUNITS); do \
164 $(PYTHON) $(srcdir)/tests/$$test ; \
165 done
167 check-jar-mn::
168 make -C tests/src-simple check-jar
169 make -C tests/src-simple check-flat
170 make -C tests/src-simple check-flat USE_EXTENSION_MANIFEST=1
171 ifneq ($(OS_ARCH), WINNT)
172 make -C tests/src-simple check-symlink
173 endif