###############################################################################
-#no # set the repository directory if it's still set to the base version.
+#no # set the repository directory if it is still set to the base version.
#ifeq "$(FEISTY_MEOW_APEX)" ""
# ifeq "$(OP_SYSTEM)" "UNIX"
# export FEISTY_MEOW_APEX = $(HOME)/hoople
# "TYPE" is the kind of product being generated by this project. this is
# used to decide where to put the final products of compilation. this is a
-# variable in the user's makefile.
+# variable in the user makefile.
# Valid Types:
# TYPE = library (outputs are static or dynamic libraries)
# TYPE = application (outputs are main-line executables)
# "UNDEFINITIONS" is a list of macros to undefine.
#UNDEFINITIONS =
+# Add an early target to set the cleanups variable based on the variables
+# that have been filled in by the user makefile.
+FIRST_TARGETS += set_cleanups_variable
+
# GLOBAL_PRODUCT_NAME is an important variable for tagging the entire code base
# with some branding. It is provided as a macro definition to all source
# files. The initial value for the macro should come from the build init
# be passed on the command line to a make. if they are intended to be used
# from inside a makefile, then they must appear before this file is included.
-# "REBUILD" causes a rebuild of all source files if it's true.
+# "REBUILD" causes a rebuild of all source files if it is true.
export REBUILD
# "DEBUG" is used to specify a debugging build. the default is for this to
###############################################################################
# This section implements the HOOPLE directory scheme. If your scheme differs,
-# then you'll want to modify these appropriately.
+# then you will want to modify these appropriately.
# "THIRD_PARTY_DIR" is the root of our support libraries.
export THIRD_PARTY_DIR
# special case when doing arm-linux builds
ifeq "$(COMPILER)" "GNU_ARM_LINUX"
export TARGETS_DIR = $(FEISTY_MEOW_APEX)/$(CPU_BUILD_DIR)
- # special output directory for firmware doesn't include CPU name because
+ # special output directory for firmware does not include CPU name because
# the repository already include the CPU name
BASE_OUTPUT_PATH = $(OUTPUT_ROOT)
endif
HOOPLE_LIBRARIES =
# "EXTRA_COPIES" is a list of files that need to be among the files copied
-# to a project's output folder.
+# to a project output folder.
export EXTRA_COPIES
# "EXTRA_VERSIONS" is a list of version files to synchronize with the main
export DEPS_FILE = $(OUTPUT_PATH)/$(PROJECT).deps
# "NO_DEPS" is an exclusion flag. if it is defined, then no auto-dependency
-# files will be generated. this is useful if you're missing makedep or trying
+# files will be generated. this is useful if you are missing makedep or trying
# to compile it...
#NO_DEPS = t
# such files. this is needed when rebuilding version_stamper.
#OMIT_VERSIONS = t
-# Add the obligatory junk to be cleaned up. Individual compiler sections
-# should customize this by adding their object output directories.
-CLEANUPS += $(ACTUAL_TARGETS) $(OUTPUT_PATH) $(DEPS_FILE)
+# add the cleanup values we already know.
+CLEANUPS += $(OUTPUT_PATH) $(DEPS_FILE)
+
+# schedule the cleanups to be updated when we know more info from the user.
+OTHER_CLEANING_TASKS = set_cleanups_variable
# "GENDEPS" is a flag that causes dependencies to be generated into
# statically built applications.
# included (although they should be listed in a different form in LIBS_USED).
# Remember that the unix loader looks for functions in libraries in a bizarre
# way: ld searches for a function only when it has already been asked for it.
-# This means that it doesn't remember what functions it has already been
+# This means that it does not remember what functions it has already been
# provided with in the libraries and object files, and it will fail if those
# functions are only asked for after they have already been encountered.
#LOAD_FLAG_PREFIX =
#
# "COMPILER_ROOT_DIR" is the top-level for the C++ compiler location.
export COMPILER_ROOT_DIR
-# "COMPILER_HEADER_DIR" is where the compiler's headers are.
+# "COMPILER_HEADER_DIR" is where the compiler headers are.
export COMPILER_HEADER_DIR
# "COMPILER_LIBRARY_DIR" is where archived libraries are.
# "CC" is the name of the C++ compiler to be used.
###COMPILER_FLAGS += -pg
###LOAD_FLAG_PREFIX += -pg
-####trying out profiling: doesn't work so well yet. generates gmon.out files
-#### in pretty random places. the parameters to the linker don't even
-#### mention this flag, and the compiler flags don't seem to provide an
-#### option for where the file goes. so, it's on hold.
+####trying out profiling: does not work so well yet. generates gmon.out files
+#### in pretty random places. the parameters to the linker do not even
+#### mention this flag, and the compiler flags do not seem to provide an
+#### option for where the file goes. so, it is on hold.
endif
TRIPART_VERSION =
CLEANUPS += $(PDB_DIR)/$(PROJECT)_bookkeeping.pdb
-#hmmm: import libs for dynamic libraries on ms-win32 don't currently get
+#hmmm: import libs for dynamic libraries on ms-win32 do not currently get
# cleaned up nicely.
# ensure that any setting for this is seen by sub-shells.
# -ML signifies uni-threaded executable (MLd means debug).
# -MT indicates multi-threaded executable (MTd means debug)
# -O is for optimization (1 small code, 2 fast code, d disabled).
- # don't use 1 or 2 though; they both include "global optimization",
+ # do not use 1 or 2 though; they both include "global optimization",
# which seems plagued with problems. the specific optimizations are:
# -Oa assume no aliasing
# -Obn inline function expansion, where n is 1 (enable) or 0 (disable)
# add the common linker flags. the debugging flag is added because we
# want to be able to debug into release code, but since the pdb files
- # are separate, we're not exposing ourselves when we don't include them.
+ # are separate, we are not exposing ourselves when we do not include them.
LOAD_FLAG_PREFIX += $(PROFILER_FLAG) -debug -opt:ref -opt:icf
#-warn:3
ifneq "$(STRICT_WARNINGS)" ""
COMPILER_FLAGS += -WX
-#would like to add W4 but that triggers warnings in ms's own headers.
+#would like to add W4 but that triggers warnings in microsoft headers.
endif
endif