being bitten by a radioactive asshole), so I don't think they were jerks when
I used them last time.
-- fred t. hamster
+~
+ External circumstances are not what draw us into suffering. Suffering is
+caused and permitted by an untamed mind. The appearance of self-defeating
+emotions in our minds leads us to faulty actions. The naturally pure mind is
+covered over by these emotions and troubling conceptions. The force of their
+deceit pushes us into faulty actions, which leads inevitably to suffering.
+ We need, with great awareness and care, to extinguish these problematic
+attitudes, the way gathering clouds dissolve back into the sphere of the sky.
+When our self-defeating attitudes, emotions, and conceptions cease, so will
+the harmful actions arising from them.
+ As the great Tibetan yogi Milarepa says, "When arising, arising within space
+itself; when dissolving, dissolving back into space." We need to become
+familiar with the state of our own minds to understand how to dissolve ill-
+founded ideas and impulses back into the deeper sphere of reality. The sky
+was there before the clouds gathered, and it will be after they have gone. It
+is also present when the clouds seem to cover every inch of the sky we can
+see.(p.22)
+ -- H.H. the Dalai Lama, "How to Expand Love: Widening the Circle of Loving
+ Relationships", translated and edited by Jeffrey Hopkins
+# Top-level makefile for library, application and test components.
+
include variables.def
-PROJECT = core_modules
-BUILD_BEFORE = library applications tools
+# Set default locations for the following variables. If the build_variables
+# have been sourced in, that takes care of setting these.
+ifeq "$(FEISTY_MEOW_DIR)" ""
+ export FEISTY_MEOW_DIR := $(CURRENT_DIR)
+endif
+ifeq "$(PRODUCTION_DIR)" ""
+ export PRODUCTION_DIR = $(FEISTY_MEOW_DIR)/production
+endif
+ifeq "$(CLAM_DIR)" ""
+ export CLAM_DIR = $(FEISTY_MEOW_SCRIPTS)/clam
+endif
+
+include $(CLAM_DIR)/cpp/variables.def
+
+PROJECT = feisty_meow_nucleus
+TYPE = hierarchy
+FIRST_TARGETS = do_make
+BUILD_AFTER = library applications tools
+
+include $(CLAM_DIR)/cpp/rules.def
+
+do_make: start_make $(PRODUCTION_DIR)/binaries/manifest.txt end_make
+
+start_make: show_date.start
+
+end_make: show_date.end
-include rules.def
+$(PRODUCTION_DIR)/binaries/manifest.txt: $(PARAMETER_FILE)
+ $(HIDESH) -c '\
+if [ ! -d "$(EXECUTABLE_DIR)" ]; then mkdir -p "$(EXECUTABLE_DIR)"; fi; \
+if [ $$? -ne 0 ]; then \
+ echo build failure while creating executable directory.; \
+ exit 1; \
+fi; \
+cp -f "$(PRODUCTION_DIR)/paths.ini" "$(EXECUTABLE_DIR)"; \
+if [ $$? -ne 0 ]; then \
+ echo build failure while copying paths initialization file.; \
+ exit 1; \
+fi; \
+echo cmd is: $(CLAM_BIN)/value_tagger$(EXE_END) $(PRODUCTION_DIR)/codescan.ini; \
+$(CLAM_BIN)/value_tagger$(EXE_END) $(PRODUCTION_DIR)/codescan.ini; \
+if [ $$? -ne 0 ]; then \
+ echo build failure during value tagging.; \
+ exit 1; \
+fi; \
+$(CLAM_BIN)/write_build_config$(EXE_END); \
+if [ $$? -ne 0 ]; then \
+ echo build failure while writing config.; \
+ exit 1; \
+fi; \
+ '
[manifest]
-output=$BUILD_TOP/binaries/manifest.txt
+output=$BUILD_TOP/production/binaries/manifest.txt
[searches]
DEFINE_OUTCOME=1
# older code is needed for some versions of gcc / suse.
ver_found=$(gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/')
- if [ ! -d "/usr/include/c++/$ver_found" ]; then
- # newest code takes only first two version numbers, since that's how
- # suse 11.0 at least is listing the includes.
- ver_found=$(gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/' | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1.\2/')
- fi
+# if [ ! -d "/usr/include/c++/$ver_found" ]; then
+# -a ! -d "/usr/include/c++/$ver_found" ]; then
+
+# # newest code takes only first two version numbers, since that's how
+# # suse 11.0 at least is listing the includes.
+# ver_found=$(gcc -### 2>&1 | grep "gcc version" | sed -e 's/^gcc version \([0-9.][0-9.]*\) .*$/\1/' | sed -e 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1.\2/')
+
+# fi
echo "$ver_found"
-$(HIDESH)$(CLAM_DIR)/cpp/preconditions.sh
@touch $@
# @echo dep adds: $(DEPENDENCY_ADDITIONS)
- @echo clam bin here is $(CLAM_BIN)
@$(CLAM_BIN)/makedep$(EXE_END) $(DEPENDENCY_DEFINITIONS:%=-D%) $(DEPENDENCY_ADDITIONS) -f$@ -o.obj -p$(OBJECT_DIR)/ -w 420 $(COMPILER_HEADER_DIR:%=-X%) $(THIRD_PARTY_DIR:%=-X%) -- $(COMPILER_FLAGS) $(SOURCE) $(EXE_CPPS)
# $(CATCHER)$(CLAM_BIN)/makedep$(EXE_END) $(DEPENDENCY_DEFINITIONS:%=-D%) $(DEPENDENCY_ADDITIONS) -f$@ -o.obj -p$(OBJECT_DIR)/ -w 420 $(COMPILER_HEADER_DIR:%=-X%) $(THIRD_PARTY_DIR:%=-X%) -- $(COMPILER_FLAGS) $(SOURCE) $(EXE_CPPS)
@echo $@ >$(SUBMAKE_FLAG)
endif
ifeq "$(PARAMETER_FILE)" ""
# last ditch attempt to get one that will work.
- export PARAMETER_FILE = $(FEISTY_MEOW_DIR)/build.ini
+ export PARAMETER_FILE = $(PRODUCTION_DIR)/build.ini
endif
###############################################################################
DEFINITIONS += _FILE_OFFSET_BITS=64
DEPENDENCY_DEFINITIONS += NO_VERSION
- DEPENDENCY_ADDITIONS = -X/usr/include -X/usr/include/c++/$(COMPILER_VERSION) -X/usr/include/c++/$(COMPILER_VERSION)/tr1 -X/usr/local/include -X/usr/include/linux -X/usr/include/wx-2.8 -X/usr/lib/gcc/i586-suse-linux/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i486-linux-gnu/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i686-linux-gnu/$(COMPILER_VERSION)/include
-
-#protect other additions to make them only for debian?
-# COMPILER_HEADER_DIR := /usr/include /usr/local/include
+ DEPENDENCY_ADDITIONS = -X/usr/include -X/usr/include/c++/$(COMPILER_VERSION) -X/usr/include/c++/$(COMPILER_VERSION)/tr1 -X/usr/local/include -X/usr/include/linux -X/usr/include/wx-2.8 -X/usr/lib/gcc/i586-suse-linux/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i486-linux-gnu/$(COMPILER_VERSION)/include -X/usr/lib/gcc/i686-linux-gnu/$(COMPILER_VERSION)/include -X/usr/lib/gcc/x86_64-linux-gnu/$(COMPILER_VERION)/include -X/usr/include/x86_64-linux-gnu
# "USE_XWIN" specifies that this project needs X window system support.
#USE_XWIN =
ifeq "$(FEISTY_MEOW_DIR)" ""
# FEISTY_MEOW_DIR =
#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_DIR)/scripts
+endif
+
+# "PRODUCTION_DIR" is where the built products will be stored, plus any
+# temporary files that are generated during the build.
+export PRODUCTION_DIR
+ifeq "$(PRODUCTION_DIR)" ""
+ PRODUCTION_DIR=$(FEISTY_MEOW_DIR)/production
endif
# "CLAM_DIR" 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
+ifeq "$(CLAM_DIR)" ""
+ export CLAM_DIR := $(FEISTY_MEOW_SCRIPTS)/clam
+endif
# "TARGETS_DIR" is where all generated files will end up. Usually the
# files are put in a subdirectory named after their file type, such as
-###############################################################################
-# #
-# Name : build variable calculator #
-# Author : Chris Koeritz #
-# #
-# Purpose: #
-# #
-# This script sets up all the variables needed by the HOOPLE system for #
-# building the source code. It can either be run as a bash script directly #
-# like so: #
-# #
-# bash ~/feisty_meow/scripts/generator/build_variables.sh #
-# #
-# which will establish a new shell containing all the variables, or you can #
-# 'source' the script like so: #
-# #
-# build_vars=~/feisty_meow/scripts/generator/build_variables.sh #
-# source $build_vars $build_vars #
-# #
-# to set all of the variables in your current shell. The full path is #
-# necessary in these commands to allow the script to easily find itself. #
-# The 'source' version needs to be fed the actual path to the script #
-# because bash 'source' commands cause the first parameter (called $0) to #
-# be set to just the path to bash itself. #
-# #
-###############################################################################
-# Copyright (c) 2004-$now By Author. This program is free software; you can #
-# redistribute it and/or modify it under the terms of the GNU General Public #
-# License as published by the Free Software Foundation; either version 2 of #
-# the License or (at your option) any later version. This is online at: #
-# http://www.fsf.org/copyleft/gpl.html #
-# Please send any updates to: fred@gruntose.com #
-###############################################################################
+##############
+#
+# Name : build variable calculator
+# Author : Chris Koeritz
+#
+# Purpose:
+#
+# This script sets up all the variables needed by the HOOPLE system for
+# building the source code. It can either be run as a bash script directly
+# like so:
+#
+# bash ~/feisty_meow/scripts/generator/build_variables.sh
+#
+# which will establish a new shell containing all the variables, or you can
+# 'source' the script like so:
+#
+# build_vars=~/feisty_meow/scripts/generator/build_variables.sh
+# source $build_vars $build_vars
+#
+# to set all of the variables in your current shell. The full path is
+# necessary in these commands to allow the script to easily find itself.
+# The 'source' version needs to be fed the actual path to the script
+# because bash 'source' commands cause the first parameter (called $0) to
+# be set to just the path to bash itself.
+#
+##############
+# Copyright (c) 2004-$now By Author. This program is free software; you can
+# redistribute it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either version 2 of
+# the License or (at your option) any later version. This is online at:
+# http://www.fsf.org/copyleft/gpl.html
+# Please send any updates to: fred@gruntose.com
+##############
# prerequisites for this script:
#
# of dos to msys etc live.
# test suite for above functions.
#echo this should go from msys to dos:
-# prior='/c/bogart\dingle'
+# prior='/c/bogart\dongle'
# latter=$(msys_to_dos_path "$prior")
# echo went from $prior to $latter
#echo this should go from dos to msys:
-# prior='D:\bogart\dingle'
+# prior='D:\bogart\dongle'
# latter=$(dos_to_msys_path "$prior")
# echo went from $prior to $latter
THIS_TOOL_NAME="$(basename "$PARM_0")"
#echo bashed version buildscriptsdir is $BUILD_SCRIPTS_DIR
fi
-BUILD_SCRIPTS_DIR="$(echo $BUILD_SCRIPTS_DIR | tr '\\\\' '/' )"
-#echo post tr buildscriptsdir is $BUILD_SCRIPTS_DIR
+BUILD_SCRIPTS_DIR="$(cd $(echo $BUILD_SCRIPTS_DIR | tr '\\\\' '/' ); \pwd)"
+#echo ">> buildscriptsdir is $BUILD_SCRIPTS_DIR"
# figure out the other paths based on where we found this script.
export BUILDING_HIERARCHY="$(echo "$BUILD_SCRIPTS_DIR" | sed -e 's/\(.*\)\/[^\/]*/\1/')"
-export CLAM_DIR="$BUILD_SCRIPTS_DIR/../clam"
+export CLAM_DIR="$(cd $BUILD_SCRIPTS_DIR/../clam ; \pwd)"
+#echo ">> clamdir is $CLAM_DIR"
# synonym to make other builds happy.
export BUILDER_DIR="$BUILDING_HIERARCHY"