ugfx/tools/gmake_scripts/readme.txt
2021-09-24 17:51:55 +02:00

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