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
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.
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 *****
41 topsrcdir
= @top_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.
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
60 TARGETS
= $(HOST_PROGRAM
) $(PLSRCS
:.pl
=) $(SIMPLE_PROGRAMS
)
63 ifdef USE_ELF_DYNSTR_GC
64 TARGETS
+= elf-dynstr-gc
65 # Compiling the above will create dependency files.
70 # IMPORTANT: Disable NSBUILDROOT for this directory only, otherwise we have
71 # a recursive rule for finding nsinstall and the Perl scripts.
73 override NSBUILDROOT
:=
77 MODULE_OPTIMIZE_FLAGS
= -O3
80 ifndef COMPILER_DEPEND
81 ifndef MOZ_NATIVE_MAKEDEPEND
86 include $(topsrcdir
)/config
/config.mk
88 # Do not install util programs
91 include $(topsrcdir
)/config
/rules.mk
93 ifeq ($(OS_CONFIG
),SunOS4.1
)
94 NSPR_CFLAGS
+= -I
$(srcdir)/..
/nsprpub
/pr
/include/md
98 $(DEPTH
)/mozilla-config.h \
99 $(srcdir)/nsStaticComponents.h \
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
107 $(INSTALL
) $(HOST_PROGRAM
) $(DIST
)/bin
110 # Generate a new buildid every time we "export" in config... that's only
111 # supposed to be once per-build!
114 printf
"%s" $(MOZ_BUILD_DATE
) > buildid
116 $(PYTHON
) $(topsrcdir
)/toolkit
/xre
/make-platformini.py
--print-buildid
> buildid
119 ifdef WRAP_SYSTEM_INCLUDES
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
138 $(SYSINSTALL
) $(IFLAGS1
) $(DEPTH
)/mozilla-config.h
$(DESTDIR
)$(includedir)
141 $(FINAL_LINK_COMPS
) $(FINAL_LINK_LIBS
) $(FINAL_LINK_COMP_NAMES
) buildid
$(srcdir)/*.pyc
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
)
153 clean clobber realclean clobber_all
::
154 cd
$(MKDEPEND_DIR
); $(MAKE
) $@
157 PYUNITS
:= unit-Expression.py unit-Preprocessor.py
159 check:: check-preprocessor check-jar-mn
163 for
test in
$(PYUNITS
); do \
164 $(PYTHON
) $(srcdir)/tests
/$$test ; \
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