73 lines
3.5 KiB
Plaintext
73 lines
3.5 KiB
Plaintext
All make script files in this directory apply the following rules and assumptions:
|
|
|
|
- The scripts are written using gmake syntax
|
|
- They assume access to the following unix utilities
|
|
rm, cp, mv, mkdir, sh
|
|
- They use and implement the following make variables
|
|
|
|
Input Variables (all optional unless otherwise specified)
|
|
----------------------------
|
|
|
|
OPT_MAKE_LIB=no|yes - Make a library instead of an program = default no
|
|
OPT_VERBOSE_COMPILE=no|yes - Turn on full compile messages - default no
|
|
OPT_GENERATE_LISTINGS=no|yes - Generate listing files - default no
|
|
OPT_GENERATE_MAP=no|yes - Generate a map file - default no
|
|
OPT_COPY_EXE=no|yes - Copy the final program to the local project directory - default no
|
|
OPT_NONSTANDARD_FLAGS=no - Turn off adding the standard compiler language flags - default no
|
|
OPT_LINK_OPTIMIZE=no - Remove unused code/data during link - default no
|
|
OPT_OS=win32|win32.raw32|win32.chibios|linux|freebsd|osx|chibios|freertos|ecos|raw32|rawrtos - Mandatory: The operating system
|
|
OPT_CPU=x86|x64|stm32m1|stm32m4|stm32m7|at91sam7|armv6|raspberrypi - Add some cpu dependant flags
|
|
|
|
BUILDDIR - Build Directory - default is ".build" or "bin/Debug" or "bin/Release" depending on the target
|
|
PROJECT - Project Name - default is the name of the project directory
|
|
PATHLIST - A list of variable names of "master" paths that contain source and other objects of interest - default is ""
|
|
|
|
ARCH - Architecture - default is ""
|
|
XCC - C compiler - default is "$(ARCH)gcc"
|
|
XCXX - C++ compiler - default is "$(ARCH)g++"
|
|
XAS - Assembler - default is "$(ARCH)gcc -x assembler-with-cpp"
|
|
XLD - Linker - default is "$(ARCH)gcc"
|
|
XOC - Object Copy - default is "$(ARCH)objcopy"
|
|
XOD - Object Dump - default is "$(ARCH)objdump"
|
|
XSZ - Report binary dump details - default is "$(ARCH)size"
|
|
XAR - Library archiver - default is "$(ARCH)ar"
|
|
|
|
SRCFLAGS - Compiler defines for c, c++ and assembler files - default is ""
|
|
CFLAGS - C specific compiler defines - default is ""
|
|
CXXFLAGS - C++ specific compiler flags - default is ""
|
|
CPPFLAGS - C Preprocessor flags for c, c++ and assembler files - default is ""
|
|
ASFLAGS - Assembler specific compiler flags - default is ""
|
|
LDFLAGS - Linker flags - default is ""
|
|
|
|
The following variables are a list of space separated values. In some cases an optional prefix (if specified) will be stripped off
|
|
the variables for compatibility with old definitions.
|
|
|
|
INCPATH - List of header include directories - default is ""
|
|
LIBPATH - List of library include directories - default is ""
|
|
DEFS - List of preprocessor defines (any -D prefix is ignored) - default is ""
|
|
LIBS - List of libraries (any -l prefix is ignored) - default is ""
|
|
SRC - List of c, c++ and assembler source files - default is ""
|
|
OBJS - List of additional object files - default is ""
|
|
LDSCRIPT - Custom loader script - default is ""
|
|
|
|
ARM Specific options
|
|
----------------------------
|
|
OPT_THUMB=no|yes - Compile normal sources in thumb mode - default is no
|
|
|
|
SRC_THUMB - List of source files that MUST be compiled in thumb mode - default is ""
|
|
SRC_NOTHUMB - List of source files that MUST be compiled in non-thumb mode - default is ""
|
|
OBJS_THUMB - List of object files that MUST be linked in thumb mode - default is ""
|
|
OBJS_NOTHUMB - List of object files that MUST be linked in non-thumb mode - default is ""
|
|
|
|
Targets
|
|
----------------------------
|
|
|
|
all
|
|
lib
|
|
exe
|
|
clean
|
|
Debug
|
|
cleanDebug
|
|
Release
|
|
cleanRelease
|