# This file contains definitions and descriptions of the variables used
# in the CLAM system (Coordinated Library Automagic Make). This defaults
-# file should be included near the start of the user's makefile, and then the
+# file should be included near the start of the user makefile, and then the
# rules file should be included after the user has modified the appropriate
# variables and added the appropriate rules and targets.
###############################################################################
-# OP_SYSTEM is a flag that specifies the operating system under which
-# the makefile system is executing.
-export OP_SYSTEM
-#OP_SYSTEM := UNIX = unix | OS2 = ibm os/2 | SYSV = v unix | DOS = pc dos
-# | WIN32 = ms-win32 / NT.
-
-# OS_SUBCLASS is a finer differentiation of the OP_SYSTEM. currently only
-# the darwin subclass for unix is considered.
-export OS_SUBCLASS
-#OS_SUBCLASS := darwin |
-
-# set the default operating system when none is specified.
-ifeq "$(OP_SYSTEM)" ""
-#is there a nice way to join the greps?
- IS_UNIX := $(shell uname | grep -i linux)
- ifeq "$(IS_UNIX)" ""
- IS_UNIX := $(shell uname | grep -i unix)
- ifeq "$(IS_UNIX)" ""
- IS_UNIX := $(shell uname | grep -i darwin)
- ifneq "$(IS_UNIX)" ""
- # pick the subclass now that we know this is darwin.
- OS_SUBCLASS := darwin
- endif
- endif
- endif
- IS_DOS := $(shell uname | grep -i cygwin)
- ifeq "$(IS_DOS)" ""
- IS_DOS := $(shell uname | grep -i ming)
- endif
- ifneq "$(IS_UNIX)" ""
- OP_SYSTEM := UNIX
- else
- ifneq "$(IS_DOS)" ""
- OP_SYSTEM := WIN32
- else
- # we don't have other comparisons yet, so we'll assume unix. fix this
- # if it's not your default operating system.
- OP_SYSTEM := UNIX
- endif
- endif
-endif
-
-# now set a special ending for EXE files, which differs between the OSes.
-export EXE_END
-ifeq "$(OP_SYSTEM)" "WIN32"
- EXE_END := .exe
-endif
+## # OPERATING_SYSTEM is a flag that specifies the operating system under which
+## # the makefile system is executing.
+## export OPERATING_SYSTEM
+## #OPERATING_SYSTEM := UNIX = unix | OS2 = ibm os/2 | SYSV = v unix | DOS = pc dos
+## # | WIN32 = ms-win32 / NT.
+
+## # CLAM_OS_SUBCLASS is a finer differentiation of the OPERATING_SYSTEM. currently only
+## # the darwin subclass for unix is considered.
+## export CLAM_OS_SUBCLASS
+## #CLAM_OS_SUBCLASS := darwin |
+
+## # set the default operating system when none is specified.
+## ifeq "$(OPERATING_SYSTEM)" ""
+## #is there a nice way to join the greps?
+## CLAM_ON_UNIX := $(shell uname | grep -i linux)
+## ifeq "$(CLAM_ON_UNIX)" ""
+## CLAM_ON_UNIX := $(shell uname | grep -i unix)
+## ifeq "$(CLAM_ON_UNIX)" ""
+## CLAM_ON_UNIX := $(shell uname | grep -i darwin)
+## ifneq "$(CLAM_ON_UNIX)" ""
+## # pick the subclass now that we know this is darwin.
+## CLAM_OS_SUBCLASS := darwin
+## endif
+## endif
+## endif
+## CLAM_ON_DOS := $(shell uname | grep -i cygwin)
+## ifeq "$(CLAM_ON_DOS)" ""
+## CLAM_ON_DOS := $(shell uname | grep -i ming)
+## endif
+## ifneq "$(CLAM_ON_UNIX)" ""
+## OPERATING_SYSTEM := UNIX
+## else
+## ifneq "$(CLAM_ON_DOS)" ""
+## OPERATING_SYSTEM := WIN32
+## else
+## # we do not have other comparisons yet, so we will assume unix. fix this
+## # if it is not your default operating system.
+## OPERATING_SYSTEM := UNIX
+## endif
+## endif
+##endif
+
+## # now set a special ending for EXE files, which differs between the OSes.
+## export EXE_ENDING
+## ifeq "$(OPERATING_SYSTEM)" "WIN32"
+## EXE_ENDING := .exe
+## endif
###############################################################################
-# "FEISTY_MEOW_DIR" is the root of the "build" for our compilation oriented
+# "FEISTY_MEOW_APEX" is the root of the "build" for our compilation oriented
# features. All source code and build helper files are usually found there.
# The build targets to be built are usually stored there also, although the
-# targets can be located elsewhere if desired. see TARGETS_DIR below.
-export FEISTY_MEOW_DIR
-ifeq "$(FEISTY_MEOW_DIR)" ""
-# FEISTY_MEOW_DIR =
+# targets can be located elsewhere if desired. see TARGETS_STORE below.
+export FEISTY_MEOW_APEX
+ifeq "$(FEISTY_MEOW_APEX)" ""
+# FEISTY_MEOW_APEX =
#uhhh, use the current location?
+#currently we rely on this being set from shell bootstrapping. is that bad?
endif
-# "CLAM_DIR" points at where the CLAM source files are located. this is needed
+# "FEISTY_MEOW_SCRIPTS" is the root location of our scripts. we expect to
+# be able to find a few things there reliably.
+export FEISTY_MEOW_SCRIPTS
+ifeq "$(FEISTY_MEOW_SCRIPTS)" ""
+ export FEISTY_MEOW_SCRIPTS := $(FEISTY_MEOW_APEX)/scripts
+endif
+
+# "PRODUCTION_STORE" is where components required for building the code or
+# installers can be found.
+#hmmm: is this redundant?
+export PRODUCTION_STORE
+ifeq "$(PRODUCTION_STORE)" ""
+ PRODUCTION_STORE=$(FEISTY_MEOW_APEX)/production
+endif
+
+# "CLAM_SCRIPTS" points at where the CLAM source files are located. this is needed
# for finding shell scripts used during compilation. if you are not using the
# standard CLAM location, then modify this appropriately.
-export CLAM_DIR
-# must be set externally!
-#export CLAM_DIR := $(FEISTY_MEOW_SCRIPTS)/clam
+export CLAM_SCRIPTS
+ifeq "$(CLAM_SCRIPTS)" ""
+ export CLAM_SCRIPTS := $(FEISTY_MEOW_SCRIPTS)/clam
+endif
-# "TARGETS_DIR" is where all generated files will end up. Usually the
+# "TARGETS_STORE" is where all generated files will end up. Usually the
# files are put in a subdirectory named after their file type, such as
-# "include". These subdirectories will all live under the TARGETS_DIR.
-export TARGETS_DIR
-ifeq "$(TARGETS_DIR)" ""
+# "include". These subdirectories will all live under the TARGETS_STORE.
+export TARGETS_STORE
+ifeq "$(TARGETS_STORE)" ""
# the default is to generate files into subdirectories that are at the
# top-level of the repository.
- TARGETS_DIR = $(FEISTY_MEOW_DIR)
+ TARGETS_STORE = $(FEISTY_MEOW_APEX)
endif
-# "CLAM_BIN" points at the location for helper binaries and shell scripts.
-export CLAM_BIN = $(PRODUCTION_DIR)/clam_bin
-
# "CURRENT_DIR" is the directory where this make was started.
export CURRENT_DIR := $(shell pwd)
# "PROJECT" is the root name for the project being compiled. It is used
# in generated directory names and for other purposes of uniquification.
-# This is a variable that _must_ be supplied by the user's makefile.
+# This is a variable that _must_ be supplied by the user makefile.
# Examples:
# PROJECT = basis
# PROJECT = test_parser
export TARGETS
# "ACTUAL_TARGETS" is how the targets are expected to be passed to the rules
-# file; this allows a plug-in module's rules to manipulate the TARGETS to make
-# sure that important files don't get deleted by the automatic deletion done
-# with "make clean." If the real module used does not create a variable called
-# ACTUAL_TARGETS from the TARGETS, then the default specified here is used.
+# file. This allows rules from a plug-in module to manipulate the TARGETS to
+# make sure that important files do not get deleted by the automatic deletion
+# done with "make clean." If the real module used does not create a variable
+# called ACTUAL_TARGETS from the TARGETS, then the default specified here is
+# used.
export ACTUAL_TARGETS = $(TARGETS)
# "FIRST_TARGETS" and "LAST_TARGETS" are targets that need to be processed
# "RUN_TARGETS" is a list of programs that should be executed as part of a make.
export RUN_TARGETS
+# "RUN_ALL_TESTS" turns on execution of the RUN_TARGETS.
+export RUN_ALL_TESTS
# "MAKEFILE_NAME" works with BUILD_BEFORE and BUILD_AFTER. This allows
# the name of the makefile in the subdirectory to be changed to something other
-# than 'makefile'.
+# than simply "makefile".
export MAKEFILE_NAME = makefile
############################################################################
# "FIND" is a macro that points to the real find command, which is the unix
# find command. on dosdows, the find command is utter garbage and we need
-# to make sure we don't accidentally run that inferior one.
+# to make sure we do not accidentally run that inferior one.
export FIND = find
-#ifeq "$(OP_SYSTEM)" "WIN32"
-# export FIND = $(FEISTY_MEOW_DIR)/msys/bin/find
-#endif
# "PARAMETER_FILE" is the location of our version stamps (if defined) and
# also contains any extra flags passed to the compilation.
ifeq "$(PARAMETER_FILE)" ""
# the default assumes that clam lives under the main hoople branch.
- export PARAMETER_FILE = $(CLAM_DIR)/clam_parms.ini
+ export PARAMETER_FILE = $(CLAM_SCRIPTS)/clam_parms.ini
endif
# ensure that our version variables are available to sub-shells.
############################################################################
-# "CLEAN" is an powerful flag that affects what clam does. if the flag is
-# non-empty, then nothing will be built and every generated file that is
-# known about will be deleted.
+# "CLEAN" is a powerful flag that affects what clam does. if the flag is
+# non-empty, then nothing new will be built.
export CLEAN
# "CLEANUPS" are things to be removed by the "make clean" command.
#CLEANUPS =
# sets the temporary directory.
export CLAM_TMP
ifeq "$(CLAM_TMP)" ""
- CLAM_TMP := $(WASTE_DIR)
-endif
-
-ifeq "$(OP_SYSTEM)" "WIN32"
- # set these so that compilers and such will use them.
- export TMP := $(CLAM_TMP)
- export TEMP := $(CLAM_TMP)
+ CLAM_TMP := $(FEISTY_MEOW_GENERATED_STORE)/clam_tmp
endif
# "FAILURE_FILE" is a file that is used as a flag to track failures. if the
# "CATCHER" is a hider that looks for errors in the command being run and
# stops the make if any are seen.
-CATCHER = $(HIDESH) $(CLAM_DIR)/badness_catcher.sh
+CATCHER = $(HIDESH) $(CLAM_SCRIPTS)/badness_catcher.sh
# "NOISY" causes the compilation to be verbose. All commands issued are echoed
# to the standard output.