3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 # STDCXX_COMPAT is not needed here, and will actually fail because
8 # libstdc++-compat is not built yet.
9 MOZ_LIBSTDCXX_HOST_VERSION
=
11 # IMPORTANT: Disable NSBUILDROOT for this directory only, otherwise we have
12 # a recursive rule for finding nsinstall and the Perl scripts.
14 override NSBUILDROOT
:=
18 MODULE_OPTIMIZE_FLAGS
= -O3
21 include $(topsrcdir
)/config
/config.mk
23 ifneq (WINNT
,$(HOST_OS_ARCH
))
24 ifdef COMPILE_ENVIRONMENT
25 # Ensure nsinstall is atomically created
26 nsinstall
$(HOST_BIN_SUFFIX
): $(HOST_PROGRAM
)
30 NSINSTALL_FILES
:= nsinstall
$(HOST_BIN_SUFFIX
)
31 NSINSTALL_DEST
:= $(DIST
)/bin
32 NSINSTALL_TARGET
:= export
33 INSTALL_TARGETS
+= NSINSTALL
38 $(DEPTH
)/mozilla-config.h \
40 HEADERS_DEST
:= $(DIST
)/include
41 HEADERS_TARGET
:= export
42 INSTALL_TARGETS
+= HEADERS
44 PYTHON_UNIT_TESTS
:= $(wildcard $(srcdir)/tests
/unit-
*.py
)
46 include $(topsrcdir
)/config
/rules.mk
48 HOST_CFLAGS
+= -DUNICODE
-D_UNICODE
50 # Generate a new buildid every time we "export" in config... that's only
51 # supposed to be once per-build!
54 printf
'%s' $(MOZ_BUILD_DATE
) > buildid
56 $(PYTHON
) $(topsrcdir
)/toolkit
/xre
/make-platformini.py
--print-buildid
> buildid
59 ifdef WRAP_SYSTEM_INCLUDES
61 $(call mkdir_deps
,system_wrappers
) \
64 export:: $(export-preqs
)
65 $(PYTHON
) -m mozbuild.action.preprocessor
$(DEFINES
) $(ACDEFINES
) \
66 -DMOZ_TREE_CAIRO
=$(MOZ_TREE_CAIRO
) \
67 -DMOZ_TREE_PIXMAN
=$(MOZ_TREE_PIXMAN
) \
68 -DMOZ_NATIVE_HUNSPELL
=$(MOZ_NATIVE_HUNSPELL
) \
69 -DMOZ_NATIVE_BZ2
=$(MOZ_NATIVE_BZ2
) \
70 -DMOZ_NATIVE_ZLIB
=$(MOZ_NATIVE_ZLIB
) \
71 -DMOZ_NATIVE_PNG
=$(MOZ_NATIVE_PNG
) \
72 -DMOZ_NATIVE_JPEG
=$(MOZ_NATIVE_JPEG
) \
73 -DMOZ_NATIVE_LIBEVENT
=$(MOZ_NATIVE_LIBEVENT
) \
74 -DMOZ_NATIVE_LIBVPX
=$(MOZ_NATIVE_LIBVPX
) \
75 -DMOZ_NATIVE_ICU
=$(MOZ_NATIVE_ICU
) \
76 $(srcdir)/system-headers |
$(PERL
) $(topsrcdir
)/nsprpub
/config
/make-system-wrappers.pl system_wrappers
77 $(INSTALL
) system_wrappers
$(DIST
)
79 GARBAGE_DIRS
+= system_wrappers
82 ifdef WRAP_STL_INCLUDES
93 STL_WRAPPERS_SENTINEL
= $(DIST
)/stl_wrappers
/sentinel
95 $(STL_WRAPPERS_SENTINEL
): $(srcdir)/make-stl-wrappers.py
$(srcdir)/$(stl_compiler
)-stl-wrapper.template.h
$(srcdir)/stl-headers
$(GLOBAL_DEPS
)
96 $(PYTHON
) $(srcdir)/make-stl-wrappers.py stl_wrappers
$(stl_compiler
) $(srcdir)/$(stl_compiler
)-stl-wrapper.template.h
$(srcdir)/stl-headers
97 $(PYTHON
) $(srcdir)/nsinstall.py
-t stl_wrappers
$(DIST
)
98 touch
$(STL_WRAPPERS_SENTINEL
)
100 export:: $(STL_WRAPPERS_SENTINEL
)
102 GARBAGE
+= $(STL_WRAPPERS_SENTINEL
)
103 GARBAGE_DIRS
+= stl_wrappers
107 $(FINAL_LINK_COMPS
) $(FINAL_LINK_LIBS
) $(FINAL_LINK_COMP_NAMES
) buildid
$(srcdir)/*.pyc
*.pyc
116 check:: $(check-preqs
)
119 $(MAKE
) -C tests
/src-simple check-jar
120 $(MAKE
) -C tests
/src-simple check-flat
121 $(MAKE
) -C tests
/src-simple check-flat USE_EXTENSION_MANIFEST
=1
122 ifneq (,$(filter-out WINNT OS2
,$(OS_ARCH
)))
123 $(MAKE
) -C tests
/src-simple check-symlink
127 $(MAKE
) -C tests
/makefiles
/autodeps
check