aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boards/base/Linux-Framebuffer/board.mk1
-rw-r--r--boards/base/Linux-Framebuffer/example/Makefile234
-rw-r--r--boards/base/Linux/board.mk1
-rw-r--r--boards/base/Linux/example/Makefile234
-rw-r--r--boards/base/OSX/board.mk7
-rw-r--r--boards/base/OSX/example/Makefile47
-rw-r--r--boards/base/OSX/example/readme.txt5
-rw-r--r--boards/base/OSX/readme.txt7
-rw-r--r--boards/base/Win32/board.mk4
-rw-r--r--boards/base/Win32/example/Makefile264
-rw-r--r--drivers/gaudio/Win32/driver.mk2
-rw-r--r--drivers/multiple/Win32/driver.mk5
-rw-r--r--drivers/multiple/X/driver.mk1
-rw-r--r--drivers/multiple/uGFXnet/driver.mk4
-rw-r--r--gfx.mk30
-rw-r--r--tools/gmake_scripts/compiler_gcc.mk155
-rw-r--r--tools/gmake_scripts/library_ugfx.mk20
-rw-r--r--tools/gmake_scripts/readme.txt60
18 files changed, 451 insertions, 630 deletions
diff --git a/boards/base/Linux-Framebuffer/board.mk b/boards/base/Linux-Framebuffer/board.mk
index 69be7ac1..a9acce0a 100644
--- a/boards/base/Linux-Framebuffer/board.mk
+++ b/boards/base/Linux-Framebuffer/board.mk
@@ -1,5 +1,6 @@
GFXINC += $(GFXLIB)/boards/base/Linux-Framebuffer
GFXSRC +=
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
+GFXLIBS += rt
include $(GFXLIB)/drivers/gdisp/framebuffer/driver.mk
diff --git a/boards/base/Linux-Framebuffer/example/Makefile b/boards/base/Linux-Framebuffer/example/Makefile
index d5032f57..29b0a266 100644
--- a/boards/base/Linux-Framebuffer/example/Makefile
+++ b/boards/base/Linux-Framebuffer/example/Makefile
@@ -1,220 +1,44 @@
-#
-# !!!! Do NOT edit this makefile with an editor which replace tabs by spaces !!!!
-#
-##############################################################################################
-#
-# On command line:
-#
-# make all = Create project
-#
-# make clean = Clean project files.
-#
-# To rebuild project do "make clean" and "make all".
-#
-
-##############################################################################################
-# Start of make control
-#
-
-# Verbose compiling?
-USE_VERBOSE_COMPILE=no
-
-# Generate listing files?
-USE_LISTING=no
-
-# Your project name and executable file name - Optional, defaults to the project directory name
-#PROJECT=uGFX
+# Possible Targets: all clean Debug cleanDebug Release cleanRelease
##############################################################################################
-# Start of default section
+# Settings
#
-TRGT =
-CC = $(TRGT)gcc
-AS = $(TRGT)gcc -x assembler-with-cpp
-
-# List all default C defines here, like -D_DEBUG=1
-DDEFS =
-
-# List all default ASM defines here, like -D_DEBUG=1
-DADEFS =
-
-# List all default directories to look for include files here
-DINCDIR =
+# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the meaning of these variables
+OPT_VERBOSE_COMPILE = no
+OPT_GENERATE_LISTINGS = yes
+OPT_GENERATE_MAP = yes
+OPT_COPY_EXE = no
+OPT_NATIVEOS = linux
+OPT_OS = linux
-# List the default directory to look for the libraries here
-DLIBDIR =
+# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables
+GFXLIB = ../uGFX
+GFXBOARD = Linux-Framebuffer
+#GFXDRIVERS = multiple/uGFXnet
+GFXDEMO = modules/gdisp/basics
-# List all default libraries here
-DLIBS = -lrt
-
-#
-# End of default section
##############################################################################################
-
-##############################################################################################
-# Start of user section
+# Set these for your project
#
-# Default project name is the project directory name
-ifeq ($(PROJECT),)
- PROJECT := $(notdir $(patsubst %/,%,$(dir $(abspath $(firstword $(MAKEFILE_LIST))))))
-endif
-
-# Imported source files and paths for uGFX
-GFXLIB = ../ugfx
-include ${GFXLIB}/gfx.mk
-include ${GFXLIB}/boards/base/Linux-Framebuffer/board.mk
-
-# Where is our source code - alter these for your project.
-# Either just include the demo makefile or add your own definitions
-include $(GFXLIB)/demos/modules/gdisp/basics/demo.mk
-#MYFILES = my-project-directory
-#MYCSRC = $(MYFILES)/main.c
-#MYDEFS =
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS = $(MYDEFS) $(GFXDEFS)
-
-# Define ASM defines here
-UADEFS =
-
-# List C source files here
-SRC = $(GFXSRC) \
- $(MYCSRC)
+ARCH =
+SRCFLAGS = -m32 -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm
+CFLAGS =
+CXXFLAGS =
+ASFLAGS =
+LDFLAGS = -pthread
-# List ASM source files here
-ASRC =
+SRC =
+DEFS =
+LIBS =
+INCPATH =
+LIBPATH =
-# List all user directories here
-UINCDIR = $(MYFILES) $(GFXINC)
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-# Define optimisation level here
-OPT = -ggdb -O0 -fomit-frame-pointer
-
-#
-# End of user defines
##############################################################################################
-
-I# Output directory and files
-ifeq ($(MAKECMDGOALS),Debug)
- BUILDDIR = bin/Debug
-else ifeq ($(MAKECMDGOALS),Release)
- BUILDDIR = bin/Release
-else ifeq ($(MAKECMDGOALS),cleanDebug)
- BUILDDIR = bin/Debug
-else ifeq ($(MAKECMDGOALS),cleanRelease)
- BUILDDIR = bin/Release
-else ifeq ($(BUILDDIR),)
- BUILDDIR = .build
-else ifeq ($(BUILDDIR),.)
- BUILDDIR = .build
-endif
-
-OBJDIR = $(BUILDDIR)/obj
-LSTDIR = $(BUILDDIR)/lst
-MAPDIR = $(BUILDDIR)/map
-DEPDIR = .dep
-
-INCDIR = $(patsubst %,-I%,$(DINCDIR) $(UINCDIR))
-LIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
-DEFS = $(DDEFS) $(UDEFS)
-ADEFS = $(DADEFS) $(UADEFS)
-COBJ = $(addprefix $(OBJDIR)/, $(subst ../,_dot_dot/,$(SRC:.c=.o)))
-AOBJ = $(addprefix $(OBJDIR)/, $(subst ../,_dot_dot/,$(ASRC:.s=.o)))
-OBJS = $(AOBJ) $(COBJ)
-LIBS = $(DLIBS) $(ULIBS)
-
-ASFLAGS = $(ADEFS)
-CPFLAGS = $(OPT) -Wall -Wextra -Wstrict-prototypes -fverbose-asm $(DEFS)
-LDFLAGS = -Wl,-Map=$(MAPDIR)/$(PROJECT).map,--cref,--no-warn-mismatch $(LIBDIR)
-ifeq ($(USE_LISTING),yes)
- ASFLAGS += -Wa,-amhls=$(LSTDIR)/$(subst ../,_dot_dot/,$(<:.s=.lst))
- CPFLAGS += -Wa,-alms=$(LSTDIR)/$(subst ../,_dot_dot/,$(<:.c=.lst))
-endif
-
-ifeq ($(HOST_OSX),yes)
- ifeq ($(OSX_SDK),)
- OSX_SDK = /Developer/SDKs/MacOSX10.7.sdk
- endif
- ifeq ($(OSX_ARCH),)
- OSX_ARCH = -mmacosx-version-min=10.3 -arch i386
- endif
-
- LIBS += $(OSX_ARCH)
- CPFLAGS += -isysroot $(OSX_SDK) $(OSX_ARCH)
- LDFLAGS = -Wl -Map=$(MAPDIR)/$(PROJECT).map,-syslibroot,$(OSX_SDK),$(LIBDIR)
-else
- # Linux, or other
- CPFLAGS += -m32
-endif
-
-# Generate dependency information
-CPFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
-
-#
-# makefile rules
-#
-
-Debug Release: all
-
-cleanDebug cleanRelease: clean
-
-all: $(BUILDDIR) $(OBJS) $(PROJECT)
-
-$(BUILDDIR) $(OBJDIR) $(LSTDIR) $(MAPDIR):
- mkdir -p $(OBJDIR)
- mkdir -p $(MAPDIR)
-ifeq ($(USE_LISTING),yes)
- mkdir -p $(LSTDIR)
-endif
-ifneq ($(USE_VERBOSE_COMPILE),yes)
- @echo Compiler Options - $(CC) -c $(CPFLAGS) -I. $(INCDIR) main.c -o $(OBJDIR)/main.o
- @echo
-endif
-
-.SECONDEXPANSION:
-$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.c)
- @mkdir -p $(dir $@)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(CC) -c $(CPFLAGS) -I. $(INCDIR) $< -o $@
-else
- @echo Compiling $<
- @$(CC) -c $(CPFLAGS) -I. $(INCDIR) $< -o $@
-endif
-
-$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.s)
- @mkdir -p $(dir $@)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(AS) -c $(ASFLAGS) -I. $(INCDIR) $< -o $@
-else
- @echo Compiling $<
- @$(AS) -c $(ASFLAGS) -I. $(INCDIR) $< -o $@
-endif
-
-$(PROJECT): $(OBJS)
- $(CC) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
-
-gcov:
- -mkdir gcov
- $(COV) -u $(subst /,\,$(SRC))
- -mv *.gcov ./gcov
-
-clean:
- -rm -fR $(BUILDDIR)
- -rm -fR $(DEPDIR)
-
-#
-# Include the dependency files, should be the last of the makefile
+# These should be at the end
#
--include $(shell mkdir $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*)
+include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
+include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
# *** EOF ***
diff --git a/boards/base/Linux/board.mk b/boards/base/Linux/board.mk
index 4334c2fc..49004bdd 100644
--- a/boards/base/Linux/board.mk
+++ b/boards/base/Linux/board.mk
@@ -1,6 +1,7 @@
GFXINC += $(GFXLIB)/boards/base/Linux
GFXSRC +=
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
+GFXLIBS += rt
include $(GFXLIB)/drivers/multiple/X/driver.mk
diff --git a/boards/base/Linux/example/Makefile b/boards/base/Linux/example/Makefile
index 21343755..87b80434 100644
--- a/boards/base/Linux/example/Makefile
+++ b/boards/base/Linux/example/Makefile
@@ -1,220 +1,44 @@
-#
-# !!!! Do NOT edit this makefile with an editor which replace tabs by spaces !!!!
-#
-##############################################################################################
-#
-# On command line:
-#
-# make all = Create project
-#
-# make clean = Clean project files.
-#
-# To rebuild project do "make clean" and "make all".
-#
-
-##############################################################################################
-# Start of make control
-#
-
-# Verbose compiling?
-USE_VERBOSE_COMPILE=no
-
-# Generate listing files?
-USE_LISTING=no
-
-# Your project name and executable file name - Optional, defaults to the project directory name
-#PROJECT=uGFX
+# Possible Targets: all clean Debug cleanDebug Release cleanRelease
##############################################################################################
-# Start of default section
+# Settings
#
-TRGT =
-CC = $(TRGT)gcc
-AS = $(TRGT)gcc -x assembler-with-cpp
-
-# List all default C defines here, like -D_DEBUG=1
-DDEFS =
-
-# List all default ASM defines here, like -D_DEBUG=1
-DADEFS =
-
-# List all default directories to look for include files here
-DINCDIR =
+# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the meaning of these variables
+OPT_VERBOSE_COMPILE = no
+OPT_GENERATE_LISTINGS = yes
+OPT_GENERATE_MAP = yes
+OPT_COPY_EXE = no
+OPT_NATIVEOS = linux
+OPT_OS = linux
-# List the default directory to look for the libraries here
-DLIBDIR =
+# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables
+GFXLIB = ../uGFX
+GFXBOARD = Linux
+#GFXDRIVERS = multiple/uGFXnet
+GFXDEMO = modules/gdisp/basics
-# List all default libraries here
-DLIBS = -lX11 -pthread -lrt
-
-#
-# End of default section
##############################################################################################
-
-##############################################################################################
-# Start of user section
+# Set these for your project
#
-# Default project name is the project directory name
-ifeq ($(PROJECT),)
- PROJECT := $(notdir $(patsubst %/,%,$(dir $(abspath $(firstword $(MAKEFILE_LIST))))))
-endif
-
-# Imported source files and paths for uGFX
-GFXLIB = ../ugfx
-include ${GFXLIB}/gfx.mk
-include ${GFXLIB}/boards/base/Linux/board.mk
-
-# Where is our source code - alter these for your project.
-# Either just include the demo makefile or add your own definitions
-include $(GFXLIB)/demos/modules/gdisp/basics/demo.mk
-#MYFILES = my-project-directory
-#MYCSRC = $(MYFILES)/main.c
-#MYDEFS =
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS = $(MYDEFS) $(GFXDEFS)
-
-# Define ASM defines here
-UADEFS =
-
-# List C source files here
-SRC = $(GFXSRC) \
- $(MYCSRC)
+ARCH =
+SRCFLAGS = -m32 -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm
+CFLAGS =
+CXXFLAGS =
+ASFLAGS =
+LDFLAGS = -pthread
-# List ASM source files here
-ASRC =
+SRC =
+DEFS =
+LIBS =
+INCPATH =
+LIBPATH =
-# List all user directories here
-UINCDIR = $(MYFILES) $(GFXINC)
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-# Define optimisation level here
-OPT = -ggdb -O0 -fomit-frame-pointer
-
-#
-# End of user defines
##############################################################################################
-
-# Output directory and files
-ifeq ($(MAKECMDGOALS),Debug)
- BUILDDIR = bin/Debug
-else ifeq ($(MAKECMDGOALS),Release)
- BUILDDIR = bin/Release
-else ifeq ($(MAKECMDGOALS),cleanDebug)
- BUILDDIR = bin/Debug
-else ifeq ($(MAKECMDGOALS),cleanRelease)
- BUILDDIR = bin/Release
-else ifeq ($(BUILDDIR),)
- BUILDDIR = .build
-else ifeq ($(BUILDDIR),.)
- BUILDDIR = .build
-endif
-
-OBJDIR = $(BUILDDIR)/obj
-LSTDIR = $(BUILDDIR)/lst
-MAPDIR = $(BUILDDIR)/map
-DEPDIR = .dep
-
-INCDIR = $(patsubst %,-I%,$(DINCDIR) $(UINCDIR))
-LIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
-DEFS = $(DDEFS) $(UDEFS)
-ADEFS = $(DADEFS) $(UADEFS)
-COBJ = $(addprefix $(OBJDIR)/, $(subst ../,_dot_dot/,$(SRC:.c=.o)))
-AOBJ = $(addprefix $(OBJDIR)/, $(subst ../,_dot_dot/,$(ASRC:.s=.o)))
-OBJS = $(AOBJ) $(COBJ)
-LIBS = $(DLIBS) $(ULIBS)
-
-ASFLAGS = $(ADEFS)
-CPFLAGS = $(OPT) -Wall -Wextra -Wstrict-prototypes -fverbose-asm $(DEFS)
-LDFLAGS = -Wl,-Map=$(MAPDIR)/$(PROJECT).map,--cref,--no-warn-mismatch $(LIBDIR)
-ifeq ($(USE_LISTING),yes)
- ASFLAGS += -Wa,-amhls=$(LSTDIR)/$(subst ../,_dot_dot/,$(<:.s=.lst))
- CPFLAGS += -Wa,-alms=$(LSTDIR)/$(subst ../,_dot_dot/,$(<:.c=.lst))
-endif
-
-ifeq ($(HOST_OSX),yes)
- ifeq ($(OSX_SDK),)
- OSX_SDK = /Developer/SDKs/MacOSX10.7.sdk
- endif
- ifeq ($(OSX_ARCH),)
- OSX_ARCH = -mmacosx-version-min=10.3 -arch i386
- endif
-
- LIBS += $(OSX_ARCH)
- CPFLAGS += -isysroot $(OSX_SDK) $(OSX_ARCH)
- LDFLAGS = -Wl -Map=$(MAPDIR)/$(PROJECT).map,-syslibroot,$(OSX_SDK),$(LIBDIR)
-else
- # Linux, or other
- CPFLAGS += -m32
-endif
-
-# Generate dependency information
-CPFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
-
-#
-# makefile rules
-#
-
-Debug Release: all
-
-cleanDebug cleanRelease: clean
-
-all: $(BUILDDIR) $(OBJS) $(PROJECT)
-
-$(BUILDDIR) $(OBJDIR) $(LSTDIR) $(MAPDIR):
- mkdir -p $(OBJDIR)
- mkdir -p $(MAPDIR)
-ifeq ($(USE_LISTING),yes)
- mkdir -p $(LSTDIR)
-endif
-ifneq ($(USE_VERBOSE_COMPILE),yes)
- @echo Compiler Options - $(CC) -c $(CPFLAGS) -I. $(INCDIR) main.c -o $(OBJDIR)/main.o
- @echo
-endif
-
-.SECONDEXPANSION:
-$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.c)
- @mkdir -p $(dir $@)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(CC) -c $(CPFLAGS) -I. $(INCDIR) $< -o $@
-else
- @echo Compiling $<
- @$(CC) -c $(CPFLAGS) -I. $(INCDIR) $< -o $@
-endif
-
-$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.s)
- @mkdir -p $(dir $@)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(AS) -c $(ASFLAGS) -I. $(INCDIR) $< -o $@
-else
- @echo Compiling $<
- @$(AS) -c $(ASFLAGS) -I. $(INCDIR) $< -o $@
-endif
-
-$(PROJECT): $(OBJS)
- $(CC) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
-
-gcov:
- -mkdir gcov
- $(COV) -u $(subst /,\,$(SRC))
- -mv *.gcov ./gcov
-
-clean:
- -rm -fR $(BUILDDIR)
- -rm -fR $(DEPDIR)
-
-#
-# Include the dependency files, should be the last of the makefile
+# These should be at the end
#
--include $(shell mkdir $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*)
+include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
+include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
# *** EOF ***
diff --git a/boards/base/OSX/board.mk b/boards/base/OSX/board.mk
new file mode 100644
index 00000000..0d7da3f8
--- /dev/null
+++ b/boards/base/OSX/board.mk
@@ -0,0 +1,7 @@
+GFXINC += $(GFXLIB)/boards/base/OSX
+GFXSRC +=
+GFXDEFS += -DGFX_USE_OS_OSX=TRUE
+GFXLIBS += rt
+
+include $(GFXLIB)/drivers/multiple/X/driver.mk
+
diff --git a/boards/base/OSX/example/Makefile b/boards/base/OSX/example/Makefile
new file mode 100644
index 00000000..d3502528
--- /dev/null
+++ b/boards/base/OSX/example/Makefile
@@ -0,0 +1,47 @@
+# Possible Targets: all clean Debug cleanDebug Release cleanRelease
+
+##############################################################################################
+# Settings
+#
+
+# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the meaning of these variables
+OPT_VERBOSE_COMPILE = no
+OPT_GENERATE_LISTINGS = yes
+OPT_GENERATE_MAP = yes
+OPT_COPY_EXE = no
+OPT_NATIVEOS = osx
+OPT_OS = osx
+
+# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables
+GFXLIB = ../uGFX
+GFXBOARD = OSX
+#GFXDRIVERS = multiple/uGFXnet
+GFXDEMO = modules/gdisp/basics
+
+##############################################################################################
+# Set these for your project
+#
+
+OSX_SDK = /Developer/SDKs/MacOSX10.7.sdk
+OSX_ARCH = -mmacosx-version-min=10.3 -arch i386
+
+ARCH =
+SRCFLAGS = -m32 -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm -isysroot $(OSX_SDK) $(OSX_ARCH)
+CFLAGS =
+CXXFLAGS =
+ASFLAGS =
+LDFLAGS = -pthread -Wl,-syslibroot,$(OSX_SDK) $(OSX_ARCH)
+
+SRC =
+DEFS =
+LIBS =
+INCPATH =
+LIBPATH =
+
+##############################################################################################
+# These should be at the end
+#
+
+include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
+include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
+# *** EOF ***
diff --git a/boards/base/OSX/example/readme.txt b/boards/base/OSX/example/readme.txt
new file mode 100644
index 00000000..aff58bb1
--- /dev/null
+++ b/boards/base/OSX/example/readme.txt
@@ -0,0 +1,5 @@
+Copy these files into your own project directory and alter them to suite.
+
+Notes:
+
+1/ Look at the MYFILES definition and the MYCSRC definition.
diff --git a/boards/base/OSX/readme.txt b/boards/base/OSX/readme.txt
new file mode 100644
index 00000000..df033cbe
--- /dev/null
+++ b/boards/base/OSX/readme.txt
@@ -0,0 +1,7 @@
+This directory contains the interface for OSX using X.
+
+On this board uGFX currently supports:
+ - GDISP via the X driver
+ - GINPUT-touch via the X driver
+
+There is an example Makefile and project in the examples directory.
diff --git a/boards/base/Win32/board.mk b/boards/base/Win32/board.mk
index 69d09100..adcbaeaf 100644
--- a/boards/base/Win32/board.mk
+++ b/boards/base/Win32/board.mk
@@ -1,5 +1,5 @@
-GFXINC += $(GFXLIB)/boards/base/Win32
+GFXINC +=
GFXSRC +=
-
+GFXLIBS +=
include $(GFXLIB)/drivers/multiple/Win32/driver.mk
include $(GFXLIB)/drivers/gaudio/Win32/driver.mk
diff --git a/boards/base/Win32/example/Makefile b/boards/base/Win32/example/Makefile
index 7d54ac02..502cf1ac 100644
--- a/boards/base/Win32/example/Makefile
+++ b/boards/base/Win32/example/Makefile
@@ -1,239 +1,73 @@
-#
-# !!!! Do NOT edit this makefile with an editor which replace tabs by spaces !!!!
-#
-##############################################################################################
-#
-# On command line:
-#
-# make all = Create project
-#
-# make clean = Clean project files.
-#
-# To rebuild project do "make clean" and "make all".
-#
+# Possible Targets: all clean Debug cleanDebug Release cleanRelease
##############################################################################################
-# Start of make control
+# Settings
#
-# Turn ChibiOS simimulator on or off?
-USE_CHIBIOS=no
+# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the meaning of these variables
+OPT_VERBOSE_COMPILE = no
+OPT_GENERATE_LISTINGS = yes
+OPT_GENERATE_MAP = yes
+OPT_COPY_EXE = no
+OPT_NATIVEOS = win32
+OPT_OS = win32
-# Verbose compiling?
-USE_VERBOSE_COMPILE=no
-
-# Generate listing files?
-USE_LISTING=no
+# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables
+GFXLIB = ../uGFX
+GFXBOARD = Win32
+#GFXDRIVERS = multiple/uGFXnet
+GFXDEMO = modules/gdisp/basics
-# Your project name and executable file name - Optional, defaults to the project directory name
-#PROJECT=uGFX
+# Win32 - ChibiOS simulator
+ifeq ($(OPT_OS),chibios)
+ # Required: Location of the ChibiOS code
+ CHIBIOS = ../ChibiOS
+endif
-#
-# End of make control
-##############################################################################################
##############################################################################################
-# Start of default section
+# Set these for your project
#
-CC = i686-pc-mingw32-gcc -g
-
-# List all default C defines here, like -D_DEBUG=1
-DDEFS =
-
-# List all default directories to look for include files here
-DINCDIR =
+ARCH = i686-pc-mingw32-
+SRCFLAGS = -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm
+CFLAGS =
+CXXFLAGS =
+ASFLAGS =
+LDFLAGS =
-# List the default directory to look for the libraries here
-DLIBDIR =
-
-# List all default libraries here
-DLIBS = -lws2_32 -lgdi32 -lwinmm
-
-# Make sure this empty for now
-SRC =
-
-#
-# End of default section
-##############################################################################################
+SRC =
+DEFS =
+LIBS =
+INCPATH =
+LIBPATH =
##############################################################################################
-# Start of user section
+# Optional: Win32 - ChibiOS Simulator
#
-# Imported source files and paths for uGFX
-GFXLIB = ../uGFX
-include $(GFXLIB)/gfx.mk
-include $(GFXLIB)/boards/base/Win32/board.mk
-
-# Imported source files and paths for ChibiOS
-ifeq ($(USE_CHIBIOS),yes)
- CHIBIOS = ../ChibiOS
+ifeq ($(OPT_OS),chibios)
include $(CHIBIOS)/boards/simulator/board.mk
- include ${CHIBIOS}/os/hal/hal.mk
- include ${CHIBIOS}/os/hal/platforms/Win32/platform.mk
- include ${CHIBIOS}/os/ports/GCC/SIMIA32/port.mk
- include ${CHIBIOS}/os/kernel/kernel.mk
- DDEFS += -DSIMULATOR -DSHELL_USE_IPRINTF=FALSE
- UINCDIR += $(PORTINC) $(KERNINC) $(TESTINC) \
+ include $(CHIBIOS)/os/hal/hal.mk
+ include $(CHIBIOS)/os/hal/platforms/Win32/platform.mk
+ include $(CHIBIOS)/os/ports/GCC/SIMIA32/port.mk
+ include $(CHIBIOS)/os/kernel/kernel.mk
+ DEFS += SIMULATOR SHELL_USE_IPRINTF=FALSE
+ INCPATH += $(PORTINC) $(KERNINC) $(TESTINC) \
$(HALINC) $(PLATFORMINC) $(BOARDINC)
- # ${CHIBIOS}/os/various
- SRC += ${PORTSRC} \
- ${KERNSRC} \
- ${TESTSRC} \
- ${HALSRC} \
- ${PLATFORMSRC} \
- $(BOARDSRC)
- GFXDEFS += -DGFX_USE_OS_CHIBIOS=TRUE
-else
- GFXDEFS += -DGFX_USE_OS_WIN32=TRUE
+ # $(CHIBIOS)/os/various
+ SRC += $(PORTSRC) \
+ $(KERNSRC) \
+ $(TESTSRC) \
+ $(HALSRC) \
+ $(PLATFORMSRC) \
+ $(BOARDSRC)
endif
-# Where is our source code - alter these for your project.
-# Either just include the demo makefile or add your own definitions
-include $(GFXLIB)/demos/modules/gdisp/basics/demo.mk
-#MYFILES = my-project-directory
-#MYCSRC = $(MYFILES)/main.c
-#MYDEFS =
-
-# List C source files here
-SRC += ${GFXSRC} \
- ${MYCSRC}
-
-# List all user C define here, like -D_DEBUG=1
-UDEFS = ${GFXDEFS}
-
-# List all user directories here
-UINCDIR = ${GFXINC} \
- ${MYFILES}
-
-# List the user directory to look for the libraries here
-ULIBDIR =
-
-# List all user libraries here
-ULIBS =
-
-# Define optimisation level here
-#OPT = -ggdb -O2 -fomit-frame-pointer
-OPT = -ggdb -O0 -fomit-frame-pointer
-
-#
-# End of user defines
##############################################################################################
-
-
-# Default project name is the project directory name
-ifeq ($(PROJECT),)
- PROJECT := $(notdir $(patsubst %/,%,$(dir $(abspath $(firstword $(MAKEFILE_LIST))))))
-endif
-
-# Output directory and files
-ifeq ($(MAKECMDGOALS),Debug)
- BUILDDIR = bin/Debug
-else ifeq ($(MAKECMDGOALS),Release)
- BUILDDIR = bin/Release
-else ifeq ($(MAKECMDGOALS),cleanDebug)
- BUILDDIR = bin/Debug
-else ifeq ($(MAKECMDGOALS),cleanRelease)
- BUILDDIR = bin/Release
-else ifeq ($(BUILDDIR),)
- BUILDDIR = .build
-else ifeq ($(BUILDDIR),.)
- BUILDDIR = .build
-endif
-
-OBJDIR = $(BUILDDIR)/obj
-LSTDIR = $(BUILDDIR)/lst
-MAPDIR = $(BUILDDIR)/map
-DEPDIR = .dep
-
-INCDIR = $(patsubst %,-I%,$(DINCDIR) $(UINCDIR))
-LIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
-DEFS = $(DDEFS) $(UDEFS)
-ADEFS = $(DADEFS) $(UADEFS)
-COBJ = $(addprefix $(OBJDIR)/, $(subst ../,_dot_dot/,$(SRC:.c=.o)))
-AOBJ = $(addprefix $(OBJDIR)/, $(subst ../,_dot_dot/,$(ASRC:.s=.o)))
-OBJS = $(AOBJ) $(COBJ)
-LIBS = $(DLIBS) $(ULIBS)
-
-LDFLAGS = -Wl,-Map=$(MAPDIR)/$(PROJECT).map,--cref,--no-warn-mismatch $(LIBDIR)
-CPFLAGS = $(OPT) -Wall -Wextra -Wstrict-prototypes -fverbose-asm $(DEFS)
-ifeq ($(USE_LISTING),yes)
- CPFLAGS += -Wa,-alms=$(LSTDIR)/$(<:.c=.lst)
-endif
-
-# Generate dependency information
-CPFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
-
-#
-# makefile rules
-#
-
-Debug Release: all
-
-cleanDebug cleanRelease: clean
-
-all: $(BUILDDIR) $(OBJS) $(BUILDDIR)/$(PROJECT).exe MAKE_ALL_RULE_HOOK
-#all: main.cp
-
-main.cp: $(MYCSRC)
- $(CC) -c $(CPFLAGS) -E -P -I. $(INCDIR) $< -o $@
-
-MAKE_ALL_RULE_HOOK:
-
-$(BUILDDIR) $(OBJDIR) $(LSTDIR):
- mkdir -p $(OBJDIR)
- mkdir -p $(MAPDIR)
-ifeq ($(USE_LISTING),yes)
- mkdir -p $(LSTDIR)
-endif
-ifneq ($(USE_VERBOSE_COMPILE),yes)
- @echo Compiler Options - $(CC) -c $(CPFLAGS) -I. $(INCDIR) main.c -o $(OBJDIR)/main.o
- @echo
-endif
-
-.SECONDEXPANSION:
-$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.c)
- @mkdir -p $(dir $@)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(CC) -c $(CPFLAGS) -I. $(INCDIR) $< -o $@
-else
- @echo Compiling $<
- @$(CC) -c $(CPFLAGS) -I. $(INCDIR) $< -o $@
-endif
-
-$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.s)
- @mkdir -p $(dir $@)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(AS) -c $(ASFLAGS) -I. $(INCDIR) $< -o $@
-else
- @echo Compiling $<
- @$(AS) -c $(ASFLAGS) -I. $(INCDIR) $< -o $@
-endif
-
-%.exe: $(OBJS)
-ifeq ($(USE_VERBOSE_COMPILE),yes)
- @echo
- $(CC) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
-else
- @echo Linking $@
- @$(CC) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
-endif
-
-gcov:
- -mkdir gcov
- $(COV) -u $(subst /,\,$(SRC))
- -mv *.gcov ./gcov
-
-clean:
- -rm -fR $(BUILDDIR)
- -rm -fR $(DEPDIR)
-
-#
-# Include the dependency files, should be the last of the makefile
+# These should be at the end
#
--include $(shell mkdir $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*)
+include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
+include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
# *** EOF ***
diff --git a/drivers/gaudio/Win32/driver.mk b/drivers/gaudio/Win32/driver.mk
index 1ea338d5..f959279f 100644
--- a/drivers/gaudio/Win32/driver.mk
+++ b/drivers/gaudio/Win32/driver.mk
@@ -2,5 +2,5 @@
GFXSRC += $(GFXLIB)/drivers/gaudio/Win32/gaudio_record_lld.c \
$(GFXLIB)/drivers/gaudio/Win32/gaudio_play_lld.c
-# Required include directories
GFXINC += $(GFXLIB)/drivers/gaudio/Win32
+GFXLIBS += winmm
diff --git a/drivers/multiple/Win32/driver.mk b/drivers/multiple/Win32/driver.mk
index d9654dfe..cde5d93f 100644
--- a/drivers/multiple/Win32/driver.mk
+++ b/drivers/multiple/Win32/driver.mk
@@ -1,2 +1,3 @@
-GFXINC += $(GFXLIB)/drivers/multiple/Win32
-GFXSRC += $(GFXLIB)/drivers/multiple/Win32/gdisp_lld_Win32.c
+GFXINC += $(GFXLIB)/drivers/multiple/Win32
+GFXSRC += $(GFXLIB)/drivers/multiple/Win32/gdisp_lld_Win32.c
+GFXLIBS += gdi32
diff --git a/drivers/multiple/X/driver.mk b/drivers/multiple/X/driver.mk
index 572a5b7d..e7255307 100644
--- a/drivers/multiple/X/driver.mk
+++ b/drivers/multiple/X/driver.mk
@@ -1,2 +1,3 @@
GFXINC += $(GFXLIB)/drivers/multiple/X
GFXSRC += $(GFXLIB)/drivers/multiple/X/gdisp_lld_X.c
+GFXLIBS += X11
diff --git a/drivers/multiple/uGFXnet/driver.mk b/drivers/multiple/uGFXnet/driver.mk
index 89bd7cf2..c9d2749c 100644
--- a/drivers/multiple/uGFXnet/driver.mk
+++ b/drivers/multiple/uGFXnet/driver.mk
@@ -1,2 +1,6 @@
GFXINC += $(GFXLIB)/drivers/multiple/uGFXnet
GFXSRC += $(GFXLIB)/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
+
+ifeq($(OPT_NATIVEOS),win32)
+ GFXLIBS += ws2_32
+endif
diff --git a/gfx.mk b/gfx.mk
index d3dbdbed..a0f27c53 100644
--- a/gfx.mk
+++ b/gfx.mk
@@ -13,3 +13,33 @@ include $(GFXLIB)/src/gadc/sys_make.mk
include $(GFXLIB)/src/gaudio/sys_make.mk
include $(GFXLIB)/src/gmisc/sys_make.mk
include $(GFXLIB)/src/gfile/sys_make.mk
+
+# Include the boards and drivers
+ifneq ($(GFXBOARD),)
+ include $(GFXLIB)/boards/base/$(GFXBOARD)/board.mk
+endif
+ifneq ($(GFXDRIVERS),)
+ include $(patsubst %,$(GFXLIB)/drivers/%/driver.mk,$(GFXDRIVERS))
+endif
+ifneq ($(GFXDEMO),)
+ include $(GFXLIB)/demos/$(GFXDEMO)/demo.mk
+endif
+
+# Include the operating system define
+ifeq ($(OPT_OS),win32)
+ GFXDEFS += GFX_USE_OS_WIN32=TRUE
+else ifeq ($(OPT_OS),linux)
+ GFXDEFS += GFX_USE_OS_LINUX=TRUE
+else ifeq ($(OPT_OS),osx)
+ GFXDEFS += GFX_USE_OS_OSX=TRUE
+else ifeq ($(OPT_OS),chibios)
+ GFXDEFS += GFX_USE_OS_CHIBIOS=TRUE
+else ifeq ($(OPT_OS),freertos)
+ GFXDEFS += GFX_USE_OS_FREERTOS=TRUE
+else ifeq ($(OPT_OS),ecos)
+ GFXDEFS += GFX_USE_OS_ECOS=TRUE
+else ifeq ($(OPT_OS),rawrtos)
+ GFXDEFS += GFX_USE_OS_RAWRTOS=TRUE
+else ifeq ($(OPT_OS),raw32)
+ GFXDEFS += GFX_USE_OS_RAW32=TRUE
+endif
diff --git a/tools/gmake_scripts/compiler_gcc.mk b/tools/gmake_scripts/compiler_gcc.mk
new file mode 100644
index 00000000..eed78e82
--- /dev/null
+++ b/tools/gmake_scripts/compiler_gcc.mk
@@ -0,0 +1,155 @@
+# See readme.txt for the make API
+
+# Add ARCH to each of the compiler programs
+ifeq ($(XCC),)
+ XCC = $(ARCH)gcc
+endif
+ifeq ($(XCXX),)
+ XCXX = $(ARCH)g++
+endif
+ifeq ($(XAS),)
+ XAS = $(ARCH)gcc -x assembler-with-cpp
+endif
+ifeq ($(XLD),)
+ XLD = $(ARCH)gcc
+endif
+
+# Default project name is the project directory name
+ifeq ($(PROJECT),)
+ PROJECT := $(notdir $(patsubst %/,%,$(dir $(abspath $(firstword $(MAKEFILE_LIST))))))
+endif
+
+# Output directory and files
+ifeq ($(BUILDDIR),)
+ ifeq ($(MAKECMDGOALS),Debug)
+ BUILDDIR = bin/Debug
+ else ifeq ($(MAKECMDGOALS),Release)
+ BUILDDIR = bin/Release
+ else ifeq ($(MAKECMDGOALS),cleanDebug)
+ BUILDDIR = bin/Debug
+ else ifeq ($(MAKECMDGOALS),cleanRelease)
+ BUILDDIR = bin/Release
+ else
+ BUILDDIR = .build
+ endif
+endif
+
+OBJDIR = $(BUILDDIR)/obj
+DEPDIR = $(BUILDDIR)/dep
+
+SRCFILE = $<
+OBJFILE = $@
+LSTFILE = $(@:.o=.lst)
+MAPFILE = $(BUILDDIR)/$(PROJECT).map
+ifeq ($(OPT_NATIVEOS),win32)
+ EXEFILE = $(BUILDDIR)/$(PROJECT).exe
+else
+ EXEFILE = $(BUILDDIR)/$(PROJECT)
+endif
+
+SRCFLAGS += -I. $(patsubst %,-I%,$(INCPATH)) $(patsubst %,-D%,$(patsubst -D%,%,$(DEFS)))
+LDFLAGS += $(patsubst %,-L%,$(LIBPATH)) $(patsubst %,-l%,$(patsubst -l%,%,$(LIBS)))
+OBJS = $(addprefix $(OBJDIR)/,$(subst ../,_dot_dot/,$(addsuffix .o,$(basename $(SRC)))))
+
+ifeq ($(OPT_GENERATE_MAP),yes)
+ LDFLAGS += -Wl,-Map=$(MAPFILE),--cref,--no-warn-mismatch
+endif
+ifeq ($(OPT_GENERATE_LISTINGS),yes)
+ CFLAGS += -Wa,-alms=$(LSTFILE)
+ CXXFLAGS += -Wa,-alms=$(LSTFILE)
+ ASFLAGS += -Wa,-amhls=$(LSTFILE)
+endif
+
+# Generate dependency information
+SRCFLAGS += -MMD -MP -MF $(DEPDIR)/$(@F).d
+
+#
+# makefile rules
+#
+
+.PHONY: builddirs fakefile.o all clean Debug Release cleanDebug cleanRelease
+
+Debug Release: all
+cleanDebug cleanRelease: clean
+
+all: builddirs fakefile.o $(EXEFILE)
+
+builddirs:
+ @mkdir -p $(BUILDDIR)
+ @mkdir -p $(OBJDIR)
+ @mkdir -p $(DEPDIR)
+
+fakefile.o:
+ifneq ($(OPT_VERBOSE_COMPILE),yes)
+ @echo Compiler Options - $(XCC) -c $(CPPFLAGS) $(CFLAGS) $(SRCFLAGS) fakefile.c -o $(OBJDIR)/$@
+ @echo
+endif
+
+.SECONDEXPANSION:
+$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.c)
+ @mkdir -p $(dir $@)
+ifeq ($(OPT_VERBOSE_COMPILE),yes)
+ @echo
+ $(XCC) -c $(CPPFLAGS) $(CFLAGS) $(SRCFLAGS) $< -o $@
+else
+ @echo Compiling $<
+ @$(XCC) -c $(CPPFLAGS) $(CFLAGS) $(SRCFLAGS) $< -o $@
+endif
+
+$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.cpp)
+ @mkdir -p $(dir $@)
+ifeq ($(OPT_VERBOSE_COMPILE),yes)
+ @echo
+ $(XCXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SRCFLAGS) $< -o $@
+else
+ @echo Compiling $<
+ @$(XCXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SRCFLAGS) $< -o $@
+endif
+
+$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.c++)
+ @mkdir -p $(dir $@)
+ifeq ($(OPT_VERBOSE_COMPILE),yes)
+ @echo
+ $(XCXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SRCFLAGS) $< -o $@
+else
+ @echo Compiling $<
+ @$(XCXX) -c $(CPPFLAGS) $(CXXFLAGS) $(SRCFLAGS) $< -o $@
+endif
+
+$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.s)
+ @mkdir -p $(dir $@)
+ifeq ($(OPT_VERBOSE_COMPILE),yes)
+ @echo
+ $(XAS) -c $(CPPFLAGS) $(ASFLAGS) $(SRCFLAGS) $< -o $@
+else
+ @echo Compiling $<
+ @$(XAS) -c $(CPPFLAGS) $(ASFLAGS) $(SRCFLAGS) $< -o $@
+endif
+
+$(EXEFILE): $(OBJS)
+ @mkdir -p $(dir $@)
+ifeq ($(OPT_VERBOSE_COMPILE),yes)
+ @echo
+ $(XLD) $(OBJS) $(LDFLAGS) -o $@
+else
+ @echo Linking $@
+ @$(XLD) $(OBJS) $(LDFLAGS) -o $@
+endif
+ifeq ($(OPT_COPY_EXE),yes)
+ @cp $(EXEFILE) .
+endif
+
+gcov:
+ -mkdir gcov
+ $(COV) -u $(subst /,\,$(SRC))
+ -mv *.gcov ./gcov
+
+#
+# Include the dependency files, should be the last of the makefile except for clean
+#
+-include $(shell mkdir -p $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*)
+
+clean:
+ -rm -fR $(BUILDDIR)
+
+# *** EOF ***
diff --git a/tools/gmake_scripts/library_ugfx.mk b/tools/gmake_scripts/library_ugfx.mk
new file mode 100644
index 00000000..7dbf9d99
--- /dev/null
+++ b/tools/gmake_scripts/library_ugfx.mk
@@ -0,0 +1,20 @@
+# See readme.txt for the make API
+
+# Requirements:
+#
+# GFXLIB: The location of the uGFX code eg GFXLIB=../ugfx
+#
+
+# Optional:
+#
+# GFXBOARD: The uGFX Board to include eg GFXBOARD=Win32
+# GFXDRIVERS: The uGFX Drivers to include - separate multiple drivers with spaces eg GFXDRIVERS=multiple/uGFXnet
+# GFXDEMO: Compile a uGFX standard demo? If blank you need to include your own project files. eg GFXDEMO=modules/gwin/widgets
+#
+
+
+include $(GFXLIB)/gfx.mk
+SRC += $(GFXSRC)
+DEFS += $(GFXDEFS)
+INCPATH += $(GFXINC)
+LIBS += $(GFXLIBS)
diff --git a/tools/gmake_scripts/readme.txt b/tools/gmake_scripts/readme.txt
new file mode 100644
index 00000000..d7389e1c
--- /dev/null
+++ b/tools/gmake_scripts/readme.txt
@@ -0,0 +1,60 @@
+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_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_NATIVEOS=win32|linux|osx|chibios|freertos|ecos|raw32|rawrtos - Mandatory: The real operating system of the machine
+OPT_OS=win32|linux|osx|chibios|freertos|ecos|raw32|rawrtos - Mandatory: Should be the same as OPT_NATIVEOS except when running an OS simulator
+
+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
+
+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"
+
+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 ""
+
+Variables for use in variable defintions
+----------------------------------------
+
+SRCFILE - The original source file
+OBJFILE - The output object file
+LSTFILE - The listing file
+MAPFILE - The map file
+EXEFILE - The final project output file
+
+Targets
+----------------------------
+
+all
+clean
+Debug
+cleanDebug
+Release
+cleanRelease