Makefile.in (3005B)
1 # -*- Mode: makefile -*- 2 # 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/. 6 7 include $(topsrcdir)/config/rules.mk 8 9 # Install versioned file, for parallel installability in Linux distributions 10 install:: $(LIBRARY_NAME).pc 11 cp $^ $(JS_LIBRARY_NAME).pc 12 $(SYSINSTALL) $(JS_LIBRARY_NAME).pc $(DESTDIR)$(libdir)/pkgconfig 13 14 install:: ../js-config.h 15 $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(JS_LIBRARY_NAME) 16 17 # Install the profiling category list into both js/ and the root include 18 # directory, for use with both js-specific and base profilers. 19 install:: ../../../mozglue/baseprofiler/public/ProfilingCategoryList.h 20 $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(JS_LIBRARY_NAME)/js 21 $(SYSINSTALL) $^ $(DESTDIR)$(includedir)/$(JS_LIBRARY_NAME) 22 23 ###################################################### 24 # BEGIN SpiderMonkey header installation 25 # 26 # Mozilla/Gecko/Firefox mostly doesn't concern itself with defining a sensible 27 # install target, because it's shipping primarily packaged builds. And even if 28 # it did, those builds wouldn't really have reason to include header files. So 29 # we have to install public headers ourselves, rather than using something from 30 # config/rules.mk or similar. 31 # 32 # The overall directory structure of the installed headers looks like so: 33 # 34 # $(includedir)/ 35 # $(JS_LIBRARY_NAME)/ 36 # jsapi.h, jspubtd.h, etc. (all of EXPORTS) 37 # js/ 38 # js/public/* headers (all are public) 39 # ds/ 40 # js/src/ds/* public headers 41 # gc/ 42 # js/src/gc/* public headers 43 # mozilla/ 44 # mfbt headers 45 # 46 47 install:: 48 $(call py_action,process_install_manifest,$(if $(filter copy,$(NSDISTMODE)),--no-symlinks )--track install_dist_include.track --no-symlinks $(DESTDIR)$(includedir)/$(JS_LIBRARY_NAME) $(DEPTH)/_build_manifests/install/dist_include) 49 50 # 51 # END SpiderMonkey header installation 52 ############################################# 53 54 # Install versioned script, for parallel installability in Linux distributions 55 install:: js-config 56 cp $^ js$(MOZJS_MAJOR_VERSION)-config 57 $(SYSINSTALL) js$(MOZJS_MAJOR_VERSION)-config $(DESTDIR)$(bindir) 58 59 # Use install_name_tool to set the install_name properly for standalone 60 # installed libraries on macOS 61 install:: $(REAL_LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) 62 ifneq (,$(REAL_LIBRARY)) 63 $(SYSINSTALL) $(REAL_LIBRARY) $(DESTDIR)$(libdir) 64 mv -f $(DESTDIR)$(libdir)/$(REAL_LIBRARY) $(subst $(STATIC_LIBRARY_NAME),$(LIBRARY_NAME),$(DESTDIR)$(libdir)/$(REAL_LIBRARY)) 65 endif 66 ifneq (,$(SHARED_LIBRARY)) 67 $(SYSINSTALL) $(SHARED_LIBRARY) $(DESTDIR)$(libdir) 68 ifeq ($(OS_ARCH),Darwin) 69 $(INSTALL_NAME_TOOL) -id $(abspath $(libdir)/$(notdir $(SHARED_LIBRARY))) $(DESTDIR)$(libdir)/$(notdir $(SHARED_LIBRARY)) 70 endif 71 endif 72 ifneq (,$(IMPORT_LIBRARY)) 73 ifneq ($(IMPORT_LIBRARY),$(SHARED_LIBRARY)) 74 $(SYSINSTALL) $(IMPORT_LIBRARY) $(DESTDIR)$(libdir) 75 endif 76 endif