ugfx/tools/gmake_scripts
2018-02-27 17:44:21 +10:00
..
compiler_gcc.mk Add support for .S files to the gcc make system 2017-06-24 17:12:42 +10:00
cpu_armv6.mk Add support for FreeRTOS into make system 2014-10-06 17:05:48 +10:00
cpu_at91sam7.mk Update support for ChibiOS v3 to the current repository. 2014-10-06 15:50:43 +10:00
cpu_raspberrypi.mk Add support for FreeRTOS into make system 2014-10-06 17:05:48 +10:00
cpu_stm32m1.mk First set of V3 macro changes 2018-02-27 17:44:21 +10:00
cpu_stm32m3.mk First set of V3 macro changes 2018-02-27 17:44:21 +10:00
cpu_stm32m4.mk First set of V3 macro changes 2018-02-27 17:44:21 +10:00
cpu_stm32m7.mk First set of V3 macro changes 2018-02-27 17:44:21 +10:00
cpu_x64.mk Update support for ChibiOS v3 to the current repository. 2014-10-06 15:50:43 +10:00
cpu_x86.mk Update support for ChibiOS v3 to the current repository. 2014-10-06 15:50:43 +10:00
library_ugfx.mk Added ability to compile ugfx as a single file (excluding driver and board files). 2015-06-08 14:14:40 +10:00
os_chibios_2.mk Updating ChibiOS 3.x build system support 2015-08-29 17:16:21 +02:00
os_chibios_3.mk Update ChibiOS make scripts to support later versions of ChibiOS 2017-04-29 17:42:14 +10:00
os_chibios_git.mk Updates to the ChibiOS Git version makefile 2017-06-24 16:36:31 +10:00
os_chibios.mk Update ChibiOS make scripts to support later versions of ChibiOS 2017-04-29 17:42:14 +10:00
os_ecos.mk Add eCos to the new build system - untested! 2014-10-06 18:07:12 +10:00
os_freertos.mk Add support for FreeRTOS into make system 2014-10-06 17:05:48 +10:00
os_linux.mk Update to makefiles to support ChibiOS v3, making ARM thumb targets, CPU specific flags etc 2014-10-04 17:12:53 +10:00
os_osx.mk Fix default OPT_CPU for macOS 2017-06-26 13:58:00 +09:00
os_raw32.mk Makefile additions for stm32m7 and raw32 2015-07-10 18:11:36 +10:00
os_win32.chibios.mk Update to makefiles to support ChibiOS v3, making ARM thumb targets, CPU specific flags etc 2014-10-04 17:12:53 +10:00
os_win32.mk Update to makefiles to support ChibiOS v3, making ARM thumb targets, CPU specific flags etc 2014-10-04 17:12:53 +10:00
os_win32.raw32.mk Add win32.chibios and win32.raw32 OPT_OS options to the make system. 2015-07-08 09:51:17 +10:00
readme.txt Updating gmake scripts readme.txt 2015-07-12 16:54:50 +02:00

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|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