X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Fclam%2Fvariables.def;h=0ef7ffc4456d9c017ab0d09c3c21c280ea35f368;hb=refs%2Fheads%2Fmain;hp=1373c7ebd194a1098a1e7cda186a153bbf5d01ed;hpb=2952ccf47b80174880141a7ecfa122089f349b8d;p=feisty_meow.git diff --git a/scripts/clam/variables.def b/scripts/clam/variables.def index 1373c7eb..0ef7ffc4 100644 --- a/scripts/clam/variables.def +++ b/scripts/clam/variables.def @@ -5,92 +5,104 @@ # 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 ############################################################################### -# "REPOSITORY_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 REPOSITORY_DIR -ifeq "$(REPOSITORY_DIR)" "" -# REPOSITORY_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 + +# "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_DIR" points at where the CLAM source files are located. this is needed +# "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 := $(SHELLDIR)/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 = $(REPOSITORY_DIR) -endif - -# "CLAM_BIN" points at the location for helper binaries and shell scripts. -ifeq "$(OP_SYSTEM)" "UNIX" - export CLAM_BIN = $(PRODUCTION_DIR)/clam_bin + TARGETS_STORE = $(FEISTY_MEOW_APEX) endif # "CURRENT_DIR" is the directory where this make was started. @@ -100,7 +112,7 @@ 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 @@ -112,10 +124,11 @@ export PROJECT 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 @@ -141,27 +154,26 @@ ACTUAL_LAST_TARGETS = $(LAST_TARGETS) # "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 = $(REPOSITORY_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. @@ -176,9 +188,8 @@ include $(PARAMETER_FILE) ############################################################################ -# "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 = @@ -188,13 +199,7 @@ export CLEAN # 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 @@ -248,7 +253,7 @@ HIDESH = $(HIDER) $(SH) # "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.