gmakefile.win
author cls%seawood.org
Fri, 20 Jul 2001 00:22:11 +0000
changeset 1993 fb814c66cb2811f2c1ecfcb1e24c309e6a8eef94
parent 1857 e2674d8c977f97e993d9d181ad0bbd64a6f49e25
child 2128 57ae0e6ff1597f3ca616d1471c49e6bed456bed9
permissions -rw-r--r--
Adding nsinstall & nspr-config. Bug #84824 r=wtc

#!gmake
# -*- Mode: Makefile -*-
# 
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
# 
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
# 
# The Original Code is the Netscape Portable Runtime (NSPR).
# 
# The Initial Developer of the Original Code is Netscape
# Communications Corporation.  Portions created by Netscape are 
# Copyright (C) 2001 Netscape Communications Corporation.  All
# Rights Reserved.
# 
# Contributor(s):
# 
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable 
# instead of those above.  If you wish to allow use of your 
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL.  If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
# 


ifndef MOZ_SRC_FLIPPED
$(error MOZ_SRC_FLIPPED is not set)
endif

ifndef MOZ_TOP
MOZ_TOP=mozilla
endif

MOZ_DIST_FLIPPED = $(MOZ_SRC_FLIPPED)/mozilla/dist

ifdef MOZ_DEBUG
MOZ_OBJDIR = WIN32_D.OBJ
else
MOZ_OBJDIR = WIN32_O.OBJ
endif

NSPR_CONFIGURE := ../configure \
		--with-mozilla \
		--with-dist-prefix=$(MOZ_DIST_FLIPPED) \
		--with-dist-bindir=$(MOZ_DIST_FLIPPED)/$(MOZ_OBJDIR)/bin \
		--with-dist-libdir=$(MOZ_DIST_FLIPPED)/$(MOZ_OBJDIR)/lib

ifeq (,$(MOZ_DEBUG))
NSPR_CONFIGURE := $(NSPR_CONFIGURE) --enable-optimize --disable-debug
endif

define MAKE_OBJDIR
if test ! -d $(@D) ; then rm -rf $(@D) ; nsinstall -D $(@D) ; fi
endef


all:: build_all

# Argh.  nmake keeps the cwd from cmd to cmd and gmake does not
# Furthermore, shmsdos doesn't support '&&' so there's a chance the
# 'cd' could fail and configure would be run in the wrong dir
#
$(MOZ_OBJDIR)/config.status: configure configure.in
	@$(MAKE_OBJDIR) 
	cd $(MOZ_OBJDIR)/ ; \
		sh $(NSPR_CONFIGURE)

build_all: $(MOZ_OBJDIR)/config.status check_old
	gmake -C $(MOZ_OBJDIR)

clobber_all: $(MOZ_OBJDIR)/config.status check_old
	gmake -C $(MOZ_OBJDIR) clobber_all

distclean: check_old
	rm -rf WIN32_D.OBJ WIN32_O.OBJ

check_old:
	@if test -f Makefile; then gmake distclean; fi