1#! gmake 2 3# 4# This Source Code Form is subject to the terms of the Mozilla Public 5# License, v. 2.0. If a copy of the MPL was not distributed with this 6# file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 8 9MOD_DEPTH = . 10topsrcdir = @top_srcdir@ 11srcdir = @srcdir@ 12VPATH = @srcdir@ 13 14include $(MOD_DEPTH)/config/autoconf.mk 15 16DIRS = config pr lib 17 18ifdef MOZILLA_CLIENT 19# Make nsinstall use absolute symlinks by default for Mozilla OSX builds 20# http://bugzilla.mozilla.org/show_bug.cgi?id=193164 21ifeq ($(OS_ARCH),Darwin) 22ifndef NSDISTMODE 23NSDISTMODE=absolute_symlink 24export NSDISTMODE 25endif 26endif 27endif 28 29DIST_GARBAGE = config.cache config.log config.status 30 31all:: config.status export 32 33include $(topsrcdir)/config/rules.mk 34 35config.status:: configure 36ifeq ($(OS_ARCH),WINNT) 37 sh $(srcdir)/configure --no-create --no-recursion 38else 39 ./config.status --recheck && ./config.status 40endif 41 42# 43# The -ll option of zip converts CR LF to LF. 44# 45ifeq ($(OS_ARCH),WINNT) 46ZIP_ASCII_OPT = -ll 47endif 48 49# Delete config/autoconf.mk last because it is included by every makefile. 50distclean:: 51 @echo "cd pr/tests; $(MAKE) $@" 52 @$(MAKE) -C pr/tests $@ 53 rm -f config/autoconf.mk 54 rm -f `cat unallmakefiles` unallmakefiles 55 56release:: 57 echo $(BUILD_NUMBER) > $(RELEASE_DIR)/$(BUILD_NUMBER)/version.df 58 @if test -f imports.df; then \ 59 echo "cp -f imports.df $(RELEASE_DIR)/$(BUILD_NUMBER)/imports.df"; \ 60 cp -f imports.df $(RELEASE_DIR)/$(BUILD_NUMBER)/imports.df; \ 61 else \ 62 echo "echo > $(RELEASE_DIR)/$(BUILD_NUMBER)/imports.df"; \ 63 echo > $(RELEASE_DIR)/$(BUILD_NUMBER)/imports.df; \ 64 fi 65 cd $(RELEASE_DIR)/$(BUILD_NUMBER)/$(OBJDIR_NAME); \ 66 rm -rf META-INF; mkdir META-INF; cd META-INF; \ 67 echo "Manifest-Version: 1.0" > MANIFEST.MF; \ 68 echo "" >> MANIFEST.MF; \ 69 cd ..; rm -f mdbinary.jar; zip -r mdbinary.jar META-INF bin lib; \ 70 rm -rf META-INF; \ 71 cd include; \ 72 rm -rf META-INF; mkdir META-INF; cd META-INF; \ 73 echo "Manifest-Version: 1.0" > MANIFEST.MF; \ 74 echo "" >> MANIFEST.MF; \ 75 cd ..; rm -f mdheader.jar; zip $(ZIP_ASCII_OPT) -r mdheader.jar *; \ 76 rm -rf META-INF 77ifeq ($(OS_ARCH),WINNT) 78 @if test ! -d $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER); then \ 79 rm -rf $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER); \ 80 echo "making directory $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)"; \ 81 mkdir -p $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER); \ 82 fi 83 @if test ! -d $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); then \ 84 rm -rf $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); \ 85 echo "making directory $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME)"; \ 86 mkdir -p $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); \ 87 fi 88else 89 @if test ! -d $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER); then \ 90 rm -rf $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER); \ 91 echo "making directory $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)"; \ 92 $(NSINSTALL) -D $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER); \ 93 chmod 775 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER); \ 94 fi 95 @if test ! -d $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); then \ 96 rm -rf $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); \ 97 echo "making directory $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME)"; \ 98 $(NSINSTALL) -D $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); \ 99 chmod 775 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); \ 100 fi 101endif 102 cd $(RELEASE_DIR)/$(BUILD_NUMBER); \ 103 cp -f version.df imports.df $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER); \ 104 chmod 664 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/version.df; \ 105 chmod 664 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/imports.df; \ 106 cd $(OBJDIR_NAME); \ 107 cp -f mdbinary.jar $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); \ 108 chmod 664 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME)/mdbinary.jar; \ 109 cd include; \ 110 cp -f mdheader.jar $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME); \ 111 chmod 664 $(MDIST)/$(MOD_NAME)/$(BUILD_NUMBER)/$(RELEASE_OBJDIR_NAME)/mdheader.jar 112 113package: 114 @echo "cd pkg; $(MAKE) publish" 115 $(MAKE) -C pkg publish 116 117depend: 118 @echo "NSPR20 has no dependencies. Skipped." 119