You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stdcxx.apache.org by se...@apache.org on 2005/09/13 03:17:11 UTC
svn commit: r280459 - /incubator/stdcxx/trunk/GNUmakefile
Author: sebor
Date: Mon Sep 12 18:17:08 2005
New Revision: 280459
URL: http://svn.apache.org/viewcvs?rev=280459&view=rev
Log:
2005-09-12 Martin Sebor <se...@roguewave.com>
STDCXX-18
* GNUmakefile: Allowed making the library without specifying BUILDDIR
(will use $(TOPDIR)/build by default). Also allowed relative paths in
BUILDDIR.
Modified:
incubator/stdcxx/trunk/GNUmakefile
Modified: incubator/stdcxx/trunk/GNUmakefile
URL: http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/GNUmakefile?rev=280459&r1=280458&r2=280459&view=diff
==============================================================================
--- incubator/stdcxx/trunk/GNUmakefile (original)
+++ incubator/stdcxx/trunk/GNUmakefile Mon Sep 12 18:17:08 2005
@@ -1,6 +1,6 @@
# -*- Makefile -*-
#
-# $Id: //stdlib/dev/etc/stdlib/config/GNUmakefile#61 $
+# $Id$
#
# main makefile to build and test the C++ Standard library
#
@@ -49,16 +49,19 @@
#
# Nonstandard variables:
#
-# BUILDDIR - the root of the build directory tree
+# BUILDDIR - (optional) the root of the build directory tree,
+# the default value is $(TOPDIR)/build
#
-# BUILDTAG - an optional string appended to a report filename
+# BUILDTAG - (optional) a string appended to a report filename
+# the default value is empty
#
-# BUILDTYPE - one of
+# BUILDTYPE - (optional) one of
# 8s, 8d, 11s, 11d, 12s, 12d, 15s, 15d,
# 8S, 8D, 11S, 11D, 12S, 12D, 15S, 15D
# where the capitalized forms are wide forms of the others
+# the default value is 11s
#
-# BUILDMODE - a comma separated list of at most one of each of
+# BUILDMODE - (optional) a comma separated list of at most one of each of
# debug, optimized, shared
# threads, pthreads, dcethreads, wide
# where
@@ -69,6 +72,7 @@
# * pthreads uses POSIX threads for thread safety
# * dcethreads uses DCE threads for thread safety
# * wide uses wide (typically 64-bit) memory model
+# the default value is debug (same as 11s)
#
# CATFILE - name of library catalog file to be generated - see gencat(1)
#
@@ -114,33 +118,70 @@
#
##############################################################################
-SHELL = /bin/sh
+SHELL = /bin/sh
# Set the value of OSNAME here
OSNAME = $(shell uname)
# provide a value if it isn't already set by (an older version of) make
ifeq ($(CURDIR),)
-CURDIR = $(shell pwd)
+ CURDIR = $(shell pwd)
endif
-# value of BUILDDIR is overridden when passed on command line
-BUILDDIR = $(CURDIR)
-ifeq ($(TOPDIR),$(BUILDDIR))
-BUILDDIR = $(TOPDIR)/build
+-include ./makefile.in
+
+
+# buildpath must not be defined
+ifneq ($(buildpath),)
+ $(error "buildpath not empty ('$(buildpath)')")
+endif
+
+
+# check to see if BUILDDIR is defined
+ifeq ($(BUILDDIR),)
+ # the default value is $(TOPDIR)/build
+ buildpath = $(CURDIR)/build
+else
+ # see if BUILDDIR is an absolute pathname
+ ifeq ($(filter /%,$(BUILDDIR)),)
+ # ...if not, prepend the name of CURDIR
+ buildpath = $(CURDIR)/$(BUILDDIR)
+ else
+ # ...otherwise, make sure it doesn't refer to TOPDIR
+ ifeq ($(BUILDDIR),$(TOPDIR))
+ $(error "BUILDDIR ('$(BUILDDIR)') is same as TOPDIR ('$(TOPDIR)')")
+ endif
+ buildpath = $(BUILDDIR)
+ endif # ifneq ($(filter /%,$(BUILDDIR)),)
+endif # ifneq ($(BUILDDIR),)
+
+
+ifeq ($(filter /%,$(buildpath)),)
+ # buildpath must be an absolute pathname
+ $(error "buildpath=$(buildpath): not an absolute pathname")
endif
-INCDIR = $(BUILDDIR)/include
-LIBDIR = $(BUILDDIR)/lib
-EXMDIR = $(BUILDDIR)/examples
-TSTDIR = $(BUILDDIR)/tests
-PHTSTDIR = $(BUILDDIR)/plumhall
-MAKEDIRS = $(BUILDDIR) \
+ifeq ($(buildpath),$(TOPDIR))
+ # buildpath must be distinct from TOPDIR
+ $(error "buildpath=$(buildpath): not distinct from TOPDIR=$(TOPDIR)")
+endif
+
+
+MAKEFILE_IN = $(buildpath)/makefile.in
+-include $(MAKEFILE_IN)
+
+
+INCDIR = $(buildpath)/include
+LIBDIR = $(buildpath)/lib
+EXMDIR = $(buildpath)/examples
+TSTDIR = $(buildpath)/tests
+PHTSTDIR = $(buildpath)/plumhall
+MAKEDIRS = $(buildpath) \
$(LIBDIR) \
- $(BUILDDIR)/rwtest \
- $(BUILDDIR)/bin \
- $(BUILDDIR)/nls \
+ $(buildpath)/rwtest \
+ $(buildpath)/bin \
+ $(buildpath)/nls \
$(TSTDIR) \
$(PHTSTDIR) \
$(EXMDIR) \
@@ -162,105 +203,107 @@
endif
# file to write log of the build to
-LOGFILE = /dev/null
+LOGFILE = /dev/null
# convert a relative pathname to an absolute one
ifneq ($(shell echo $(LOGFILE) | sed -n "s/^ *\/.*/\//p"),/)
-LOGFILE := $(BUILDDIR)/$(LOGFILE)
+LOGFILE := $(buildpath)/$(LOGFILE)
endif
# shared and static library suffix defaults (can be overridden in config file)
SHARED_SUFFIX = .so
STATIC_SUFFIX = .a
-ifneq ($(BUILDTYPE),)
-ifneq ($(BUILDMODE),)
- ERROR_MSG := $(error Use either BUILDTYPE or BUILDMODE, not both)
-endif
-endif
-
-# include the makefile.in if it exists
-MAKEFILE_IN = $(BUILDDIR)/makefile.in
-
--include $(MAKEFILE_IN)
-
# When BUILDTYPE is set, then decode its value
ifeq ($(BUILDTYPE),8s)
-BUILDMODE = optimized
+ bmode = optimized
endif # ifeq ($(BUILDTYPE),8s)
ifeq ($(BUILDTYPE),8S)
-BUILDMODE = optimized,wide
+ bmode = optimized,wide
endif # ifeq ($(BUILDTYPE),8s)
ifeq ($(BUILDTYPE),8d)
-BUILDMODE = shared,optimized
+ bmode = shared,optimized
endif # ifeq ($(BUILDTYPE),8d)
ifeq ($(BUILDTYPE),8D)
-BUILDMODE = shared,optimized,wide
+ bmode = shared,optimized,wide
endif # ifeq ($(BUILDTYPE),8d)
ifeq ($(BUILDTYPE),11s)
-BUILDMODE = debug
+ bmode = debug
endif # ifeq ($(BUILDTYPE),11s)
ifeq ($(BUILDTYPE),11S)
-BUILDMODE = debug,wide
+ bmode = debug,wide
endif # ifeq ($(BUILDTYPE),11s)
# 11d - single-thread, debug, shared
ifeq ($(BUILDTYPE),11d)
-BUILDMODE = debug,shared
+ bmode = debug,shared
endif # ifeq ($(BUILDTYPE),11d)
ifeq ($(BUILDTYPE),11D)
-BUILDMODE = debug,shared,wide
+ bmode = debug,shared,wide
endif # ifeq ($(BUILDTYPE),11d)
# 12s - multi-thread, optimized, static
ifeq ($(BUILDTYPE),12s)
-BUILDMODE = pthreads,optimized
+ bmode = pthreads,optimized
endif # ifeq ($(BUILDTYPE),12s)
ifeq ($(BUILDTYPE),12S)
-BUILDMODE = pthreads,optimized,wide
+ bmode = pthreads,optimized,wide
endif # ifeq ($(BUILDTYPE),12s)
# 12d - multi-thread, optimized, shared
ifeq ($(BUILDTYPE),12d)
-BUILDMODE = pthreads,shared,optimized
+ bmode = pthreads,shared,optimized
endif # ifeq ($(BUILDTYPE),12d)
ifeq ($(BUILDTYPE),12D)
-BUILDMODE = pthreads,shared,optimized,wide
+ bmode = pthreads,shared,optimized,wide
endif # ifeq ($(BUILDTYPE),12d)
# 15s - multi-thread, debug, static
ifeq ($(BUILDTYPE),15s)
-BUILDMODE = debug,pthreads
+ bmode = debug,pthreads
endif # ifeq ($(BUILDTYPE),15s)
ifeq ($(BUILDTYPE),15S)
-BUILDMODE = debug,pthreads,wide
+ bmode = debug,pthreads,wide
endif # ifeq ($(BUILDTYPE),15s)
# 15d - multi-thread, debug, shared
ifeq ($(BUILDTYPE),15d)
-BUILDMODE = debug,pthreads,shared
+ bmode = debug,pthreads,shared
endif # ifeq ($(BUILDTYPE),15d)
ifeq ($(BUILDTYPE),15D)
-BUILDMODE = debug,pthreads,shared,wide
+ bmode = debug,pthreads,shared,wide
endif # ifeq ($(BUILDTYPE),15d)
+ifeq ($(TOPDIR),)
+ ifneq ($(BUILDTYPE),)
+ ifneq ($(BUILDMODE),)
+ $(error "at most one of BUILDMODE and BUILDTYPE may be defined")
+ else
+ BUILDMODE=$(bmode)
+ endif
+ endif
+endif
+
+
# include the configure file if make is being invoked
# in the source directory; after makefile.in is created
# the configure file will not be included because TOPDIR
# will be defined in makefile.in
ifeq ($(TOPDIR),)
-include etc/config/$(CONFIG)
-TOPDIR = $(CURDIR)
+ TOPDIR = $(CURDIR)
+ configpath = etc/config/$(CONFIG)
+ configfile = $(TOPDIR)/$(configpath)
+ include $(configfile)
endif # TOPDIR
ETCDIR = $(TOPDIR)/etc/config
@@ -274,9 +317,9 @@
ifeq ($(CURDIR),$(TOPDIR))
ifeq ($(findstring debug,$(BUILDMODE)),debug)
-ifeq ($(findstring optimized,$(BUILDMODE)),optimized)
- ERROR_MSG := $(error Cannot have both debug and optimized options)
-endif
+ ifeq ($(findstring optimized,$(BUILDMODE)),optimized)
+ $(error "cannot have both debug and optimized options")
+ endif
endif
# unless $(LD) is set, use the same command to link as to compile
@@ -320,7 +363,7 @@
else
ifeq ($(findstring dcethreads,$(BUILDMODE)),dcethreads)
ifneq ($(OSNAME),OSF1)
- ERROR_MSG := $(error DCE threads not suported on this platform)
+ $(error "DCE threads not suported on this platform")
endif
CPPFLAGS += $(MULTI_CPPFLAGS_DCE)
@@ -328,7 +371,7 @@
else
ifeq ($(findstring threads,$(BUILDMODE)),threads)
ifneq ($(OSNAME),SunOS)
- ERROR_MSG := $(error Solaris threads not suported on this platform)
+ $(error "Solaris threads not suported on this platform")
endif
CPPFLAGS += $(MULTI_CPPFLAGS_SOLARIS)
@@ -387,10 +430,12 @@
# TARGETS
##############################################################################
-ifeq ($(CURDIR),$(TOPDIR))
+ifeq ($(CURDIR),$(TOPDIR)) ###################################################
+
+# invoked from $(TOPDIR)
ifeq ($(DEPENDDIR),)
-DEPENDDIR=.depend
+ DEPENDDIR=.depend
endif
# obtain library version number from the macro _RWSTD_VER
@@ -401,121 +446,126 @@
all: builddir config libstd
-# create $(BUILDDIR) and $(MAKEFILE_IN)
-$(MAKEFILE_IN):
- @(echo "creating BUILDDIR=$(BUILDDIR)" ; \
- mkdir -p $(MAKEDIRS) || { \
- echo "unable to create build directory" ; \
- exit 1 ; \
- } ; \
- echo "generating $(MAKEFILE_IN)..." ; \
- echo "TOPDIR = $(TOPDIR)" >> $(MAKEFILE_IN) ; \
- echo "BUILDDIR = $(BUILDDIR)" >> $(MAKEFILE_IN) ; \
- echo "BUILDTYPE = $(BUILDTYPE)" >> $(MAKEFILE_IN) ; \
- echo "BUILDMODE = $(BUILDMODE)" >> $(MAKEFILE_IN) ; \
- echo "CXX = $(CXX)" >> $(MAKEFILE_IN) ; \
- echo "CXXFLAGS = $(CXXFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "PRELINKFLAGS = $(PRELINKFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "PICFLAGS = $(PICFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "CPPFLAGS = $(CPPFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "WARNFLAGS = $(WARNFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "DEPENDFLAGS = $(DEPENDFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "LD = $(LD)" >> $(MAKEFILE_IN) ; \
- echo "LDFLAGS = $(LDFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "LDLIBS = $(LDLIBS)" >> $(MAKEFILE_IN) ; \
- echo "LDSOFLAGS = $(LDSOFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "MAPFILE = $(MAPFILE)" >> $(MAKEFILE_IN) ; \
- echo "RUNFLAGS = -t 180" >> $(MAKEFILE_IN) ; \
- echo "LIBDIR = $(LIBDIR)" >> $(MAKEFILE_IN) ; \
- echo "DEPENDDIR = $(DEPENDDIR)" >> $(MAKEFILE_IN) ; \
- echo "PHDIR = $(PHDIR)" >> $(MAKEFILE_IN) ; \
- echo "PHWARNFLAGS = $(PHWARNFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "LIBSUFFIX = $(LIBSUFFIX)" >> $(MAKEFILE_IN) ; \
- echo "LIBBASE = $(LIBBASE)" >> $(MAKEFILE_IN) ; \
- echo "LIBVER = $(LIBVER)" >> $(MAKEFILE_IN) ; \
- echo "LIBNAME = lib$$""(LIBBASE)$$""(LIBSUFFIX)" \
- >> $(MAKEFILE_IN) ; \
- echo "AR = $(AR)" >> $(MAKEFILE_IN) ; \
- echo "ARFLAGS = $(ARFLAGS)" >> $(MAKEFILE_IN) ; \
- echo "CCVER = $(CCVER)" >> $(MAKEFILE_IN) ; \
- echo "SHARED = $(SHARED)" >> $(MAKEFILE_IN) ; \
- echo "CATFILE = $(CATFILE)" >> $(MAKEFILE_IN) ; \
- echo "OMIT_EXM_SRCS = $(OMIT_EXM_SRCS)" >> $(MAKEFILE_IN) ; \
- echo "OMIT_TST_SRCS = $(OMIT_TST_SRCS)" >> $(MAKEFILE_IN) ; \
- echo "BUILDTAG = $(BUILDTAG)" >> $(MAKEFILE_IN) ; \
- echo "PLATFORM = $(PLATFORM)" >> $(MAKEFILE_IN) ; \
- echo "REPORTFILE = $(REPORTFILE)$$""(BUILDTAG)" >> $(MAKEFILE_IN) ; \
- echo "DEFAULT_SHROBJ = $(DEFAULT_SHROBJ)" >> $(MAKEFILE_IN) ; \
- echo "CXX_REPOSITORY = $(CXX_REPOSITORY)" >> $(MAKEFILE_IN))
+# create $(buildpath) and $(MAKEFILE_IN)
+$(MAKEFILE_IN): $(configfile)
+ @(echo "creating BUILDDIR=$(buildpath)"; \
+ mkdir -p $(MAKEDIRS) || { \
+ echo "unable to create build directory"; \
+ exit 1; \
+ }; \
+ echo "generating $(MAKEFILE_IN) from $(configfile)" \
+ && echo "TOPDIR = $(TOPDIR)" >> $(MAKEFILE_IN) \
+ && echo "BUILDDIR = $(buildpath)" >> $(MAKEFILE_IN) \
+ && echo "CONFIG = $$""(TOPDIR)""/$(configpath)" \
+ >> $(MAKEFILE_IN) \
+ && echo "BUILDTYPE = $(BUILDTYPE)" >> $(MAKEFILE_IN) \
+ && echo "BUILDMODE = $(BUILDMODE)" >> $(MAKEFILE_IN) \
+ && echo "CXX = $(CXX)" >> $(MAKEFILE_IN) \
+ && echo "CXXFLAGS = $(CXXFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "PRELINKFLAGS = $(PRELINKFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "PICFLAGS = $(PICFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "CPPFLAGS = $(CPPFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "WARNFLAGS = $(WARNFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "DEPENDFLAGS = $(DEPENDFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "LD = $(LD)" >> $(MAKEFILE_IN) \
+ && echo "LDFLAGS = $(LDFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "LDLIBS = $(LDLIBS)" >> $(MAKEFILE_IN) \
+ && echo "LDSOFLAGS = $(LDSOFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "MAPFILE = $(MAPFILE)" >> $(MAKEFILE_IN) \
+ && echo "RUNFLAGS = -t 180" >> $(MAKEFILE_IN) \
+ && echo "LIBDIR = $(LIBDIR)" >> $(MAKEFILE_IN) \
+ && echo "DEPENDDIR = $(DEPENDDIR)" >> $(MAKEFILE_IN) \
+ && echo "PHDIR = $(PHDIR)" >> $(MAKEFILE_IN) \
+ && echo "PHWARNFLAGS = $(PHWARNFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "LIBSUFFIX = $(LIBSUFFIX)" >> $(MAKEFILE_IN) \
+ && echo "LIBBASE = $(LIBBASE)" >> $(MAKEFILE_IN) \
+ && echo "LIBVER = $(LIBVER)" >> $(MAKEFILE_IN) \
+ && echo "LIBNAME = lib$$""(LIBBASE)$$""(LIBSUFFIX)" \
+ >> $(MAKEFILE_IN) \
+ && echo "AR = $(AR)" >> $(MAKEFILE_IN) \
+ && echo "ARFLAGS = $(ARFLAGS)" >> $(MAKEFILE_IN) \
+ && echo "CCVER = $(CCVER)" >> $(MAKEFILE_IN) \
+ && echo "SHARED = $(SHARED)" >> $(MAKEFILE_IN) \
+ && echo "CATFILE = $(CATFILE)" >> $(MAKEFILE_IN) \
+ && echo "OMIT_EXM_SRCS = $(OMIT_EXM_SRCS)" >> $(MAKEFILE_IN) \
+ && echo "OMIT_TST_SRCS = $(OMIT_TST_SRCS)" >> $(MAKEFILE_IN) \
+ && echo "BUILDTAG = $(BUILDTAG)" >> $(MAKEFILE_IN) \
+ && echo "PLATFORM = $(PLATFORM)" >> $(MAKEFILE_IN) \
+ && echo "REPORTFILE = $(REPORTFILE)$$""(BUILDTAG)" >> $(MAKEFILE_IN) \
+ && echo "DEFAULT_SHROBJ = $(DEFAULT_SHROBJ)" >> $(MAKEFILE_IN) \
+ && echo "CXX_REPOSITORY = $(CXX_REPOSITORY)" >> $(MAKEFILE_IN));
# link makefiles and scripts
builddir: $(MAKEFILE_IN)
- @(ln -sf $(TOPDIR)/GNUmakefile $(BUILDDIR); \
- ln -sf $(ETCDIR)/GNUmakefile.cfg $(BUILDDIR)/include/GNUmakefile; \
- ln -sf $(ETCDIR)/GNUmakefile.lib $(LIBDIR)/GNUmakefile; \
- ln -sf $(ETCDIR)/GNUmakefile.rwt $(BUILDDIR)/rwtest/GNUmakefile; \
- ln -sf $(ETCDIR)/GNUmakefile.exm $(EXMDIR)/GNUmakefile; \
- ln -sf $(ETCDIR)/GNUmakefile.tst $(TSTDIR)/GNUmakefile; \
- ln -sf $(ETCDIR)/GNUmakefile.ph $(PHTSTDIR)/GNUmakefile; \
- ln -sf $(ETCDIR)/GNUmakefile.bin $(BUILDDIR)/bin/GNUmakefile; \
- ln -sf $(ETCDIR)/makefile.common $(BUILDDIR); \
- ln -sf $(ETCDIR)/makefile.rules $(BUILDDIR); \
- ln -sf $(ETCDIR)/configure.sh $(BUILDDIR)/include/configure; \
- ln -sf $(ETCDIR)/runall.sh $(BUILDDIR)/run; \
- ln -sf $(ETCDIR)/runall.sh $(BUILDDIR)/bin/run; \
- ln -sf $(ETCDIR)/run_locale_utils.sh $(BUILDDIR)/bin/run_locale_utils.sh;\
- ln -sf $(ETCDIR)/runall.sh $(TSTDIR)/run; \
- ln -sf $(ETCDIR)/runall.sh $(PHTSTDIR)/run; \
+ @(ln -sf $(TOPDIR)/GNUmakefile $(buildpath); \
+ ln -sf $(ETCDIR)/GNUmakefile.cfg $(buildpath)/include/GNUmakefile; \
+ ln -sf $(ETCDIR)/GNUmakefile.lib $(LIBDIR)/GNUmakefile; \
+ ln -sf $(ETCDIR)/GNUmakefile.rwt $(buildpath)/rwtest/GNUmakefile; \
+ ln -sf $(ETCDIR)/GNUmakefile.exm $(EXMDIR)/GNUmakefile; \
+ ln -sf $(ETCDIR)/GNUmakefile.tst $(TSTDIR)/GNUmakefile; \
+ ln -sf $(ETCDIR)/GNUmakefile.ph $(PHTSTDIR)/GNUmakefile; \
+ ln -sf $(ETCDIR)/GNUmakefile.bin $(buildpath)/bin/GNUmakefile; \
+ ln -sf $(ETCDIR)/makefile.common $(buildpath); \
+ ln -sf $(ETCDIR)/makefile.rules $(buildpath); \
+ ln -sf $(ETCDIR)/configure.sh $(buildpath)/include/configure; \
+ ln -sf $(ETCDIR)/runall.sh $(buildpath)/run; \
+ ln -sf $(ETCDIR)/runall.sh $(buildpath)/bin/run; \
+ ln -sf $(ETCDIR)/run_locale_utils.sh \
+ $(buildpath)/bin/run_locale_utils.sh; \
+ ln -sf $(ETCDIR)/runall.sh $(TSTDIR)/run; \
+ ln -sf $(ETCDIR)/runall.sh $(PHTSTDIR)/run; \
ln -sf $(ETCDIR)/runall.sh $(EXMDIR)/run)
+
+# cd from TOPDIR to BUILDDIR and post from there
post:
- @$(MAKE) builddir
- @$(MAKE) -C$(BUILDDIR) $@
+ $(MAKE) builddir
+ $(MAKE) -C$(buildpath) $@
+
+
+# prevent trying to make makefile.in when $(BUILDDIR) is
+# not defined and -include $(BUILDDIR)/makefile.in fails
+makefile.in:
-# cd from TOPDIR to BUILDDIR and post from there
.DEFAULT:
- @$(MAKE) -C$(BUILDDIR) $@
+ $(MAKE) -C$(buildpath) BUILDDIR=$(buildpath)
-else # ifneq ($(CURDIR),$(TOPDIR))
+else # ifneq ($(CURDIR),$(TOPDIR)) #########################################
# invoked from $(BUILDDIR)...
-all: config libstd locutils rwtestlib tst exm $(PHDTSTDIR)
+all: config libstd util rwtestlib tst exm $(PHDTSTDIR)
# configure (create config.h)
config:
- @$(MAKE) -C include
+ @$(MAKE) -C$(BUILDDIR)/include
# build utilities, ignore errors
util:
- @$(MAKE) -C $(BUILDDIR)/bin
+ @$(MAKE) -C$(BUILDDIR)/bin
# build library, errors are fatal
libstd:
- @$(MAKE) -C $(LIBDIR)
-
-# locale utilities
-bin:
- @$(MAKE) -C $(BUILDDIR)/bin
+ @$(MAKE) -C$(LIBDIR)
# build rw test library
rwtestlib:
- @$(MAKE) -C $(BUILDDIR)/rwtest
+ @$(MAKE) -C$(BUILDDIR)/rwtest
# build tests, ignore failures
tst: libstd rwtestlib
- -@$(MAKE) -C $(TSTDIR)
+ -@$(MAKE) -C$(TSTDIR)
# build plumhall tests, ignore failures
phtst: libstd
- -@$(MAKE) -C $(PHTSTDIR)
+ -@$(MAKE) -C$(PHTSTDIR)
# make examples, ignore failures
exm: libstd
- -@$(MAKE) -C $(EXMDIR)
+ -@$(MAKE) -C$(EXMDIR)
# run all tests and examples, generate result file and post it in a revison