seawood%netscape.com 77e5bb115a Fixing win32 gmake builds lack of debugging information problem by working around a combination MSVC & cygwin make deficiencies:
* We must use the full path to the source file when calling MSVC so that debugging information shows up in the object files.
* Because of cygwin's use of /cygdrive when using full paths, we must use a cygwin-wrapper script in some cases to allow native win32 programs to use a fully qualified cygwin path.
* We have to call configure using the full path so that $(srcdir) contains the
full path in the Makefiles. The rules have been changed for win32 so that it
always use $(srcdir)/$*.{c,cpp} as the sourcefile name even when the file is in
the cwd.  This works around both the /cygdrive issue and the msvc's path info
optimization.
* We still use the wrapper when calling rc.exe & nsinstall.  nsinstall
frequently takes multiple args and is called all over the tree so changing each
calling site is going to be expensive.	(I'll have to check  the logs again but
I think the rc wrapping can go.)
* nspr & ldap still use the wrappers for all native win32 progs.  Neither nspr
nor ldap uses the acoutput-fast.pl script to speed up the substitution of
@srcdir@ into their Makefiles so, makefile substitution will break if we use
dos-paths.
* In the handful of directories where we copy srcfiles from another directory
in lieu of using VPATHs, we have to now copy those files to $(srcdir) so that
the default rules can find them.
Bug #141834 r=leaf,wtc,dmose,mcs


git-svn-id: svn://10.0.0.236/trunk@123439 18797224-902f-48f8-a5cc-f745e15eee43
2002-06-17 17:07:17 +00:00

66 lines
1.5 KiB
Makefile

#
# The contents of this file are subject to the Netscape 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/NPL/
#
# 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 mozilla.org code.
#
# The Initial Developer of the Original Code is Netscape
# Communications Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
# Samir Gehani <sgehani@netscape.com>
#
DEPTH = ../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
include $(srcdir)/../src/objs.mk
MODULE = libreg
LIBRARY_NAME = mozregsa_s
# MacOSX requires the MoreFiles module
ifeq ($(OS_ARCH),Darwin)
REQUIRES = macmorefiles
endif
ifeq ($(OS_ARCH),WINNT)
USE_NON_MT_LIBS = 1
endif
CSRCS = $(MODULES_LIBREG_SRC_LCSRCS)
FORCE_STATIC_LIB = 1
GARBAGE += $(MODULES_LIBREG_SRC_LCSRCS) $(wildcard *.$(OBJ_SUFFIX))
ifeq ($(OS_ARCH),WINNT)
GARBAGE += $(addprefix $(srcdir)/,$(MODULES_LIBREG_SRC_LCSRCS))
endif
include $(topsrcdir)/config/rules.mk
DEFINES += -DSTANDALONE_REGISTRY
LOCAL_INCLUDES = -I$(srcdir)/../src
export:: $(MODULES_LIBREG_SRC_CSRCS)
ifeq ($(OS_ARCH),WINNT)
$(INSTALL) $^ $(srcdir)
else
$(INSTALL) $^ .
endif