New makefile structure. Also OSX board defintion
This commit is contained in:
parent
2776d00e82
commit
daf9f65b9f
18 changed files with 456 additions and 635 deletions
|
@ -1,5 +1,6 @@
|
||||||
GFXINC += $(GFXLIB)/boards/base/Linux-Framebuffer
|
GFXINC += $(GFXLIB)/boards/base/Linux-Framebuffer
|
||||||
GFXSRC +=
|
GFXSRC +=
|
||||||
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
|
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
|
||||||
|
GFXLIBS += rt
|
||||||
|
|
||||||
include $(GFXLIB)/drivers/gdisp/framebuffer/driver.mk
|
include $(GFXLIB)/drivers/gdisp/framebuffer/driver.mk
|
||||||
|
|
|
@ -1,220 +1,44 @@
|
||||||
#
|
# Possible Targets: all clean Debug cleanDebug Release cleanRelease
|
||||||
# !!!! 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
|
# Settings
|
||||||
#
|
#
|
||||||
|
|
||||||
# Verbose compiling?
|
# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the meaning of these variables
|
||||||
USE_VERBOSE_COMPILE=no
|
OPT_VERBOSE_COMPILE = no
|
||||||
|
OPT_GENERATE_LISTINGS = yes
|
||||||
|
OPT_GENERATE_MAP = yes
|
||||||
|
OPT_COPY_EXE = no
|
||||||
|
OPT_NATIVEOS = linux
|
||||||
|
OPT_OS = linux
|
||||||
|
|
||||||
# Generate listing files?
|
# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables
|
||||||
USE_LISTING=no
|
GFXLIB = ../uGFX
|
||||||
|
GFXBOARD = Linux-Framebuffer
|
||||||
# Your project name and executable file name - Optional, defaults to the project directory name
|
#GFXDRIVERS = multiple/uGFXnet
|
||||||
#PROJECT=uGFX
|
GFXDEMO = modules/gdisp/basics
|
||||||
|
|
||||||
##############################################################################################
|
##############################################################################################
|
||||||
# Start of default section
|
# Set these for your project
|
||||||
#
|
#
|
||||||
|
|
||||||
TRGT =
|
ARCH =
|
||||||
CC = $(TRGT)gcc
|
SRCFLAGS = -m32 -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm
|
||||||
AS = $(TRGT)gcc -x assembler-with-cpp
|
CFLAGS =
|
||||||
|
CXXFLAGS =
|
||||||
|
ASFLAGS =
|
||||||
|
LDFLAGS = -pthread
|
||||||
|
|
||||||
# List all default C defines here, like -D_DEBUG=1
|
SRC =
|
||||||
DDEFS =
|
DEFS =
|
||||||
|
LIBS =
|
||||||
# List all default ASM defines here, like -D_DEBUG=1
|
INCPATH =
|
||||||
DADEFS =
|
LIBPATH =
|
||||||
|
|
||||||
# List all default directories to look for include files here
|
|
||||||
DINCDIR =
|
|
||||||
|
|
||||||
# List the default directory to look for the libraries here
|
|
||||||
DLIBDIR =
|
|
||||||
|
|
||||||
# List all default libraries here
|
|
||||||
DLIBS = -lrt
|
|
||||||
|
|
||||||
#
|
|
||||||
# End of default section
|
|
||||||
##############################################################################################
|
|
||||||
|
|
||||||
##############################################################################################
|
##############################################################################################
|
||||||
# Start of user section
|
# These should be at the end
|
||||||
#
|
#
|
||||||
|
|
||||||
# Default project name is the project directory name
|
include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
|
||||||
ifeq ($(PROJECT),)
|
include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
|
||||||
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)
|
|
||||||
|
|
||||||
# List ASM source files here
|
|
||||||
ASRC =
|
|
||||||
|
|
||||||
# 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
|
|
||||||
#
|
|
||||||
-include $(shell mkdir $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*)
|
|
||||||
|
|
||||||
# *** EOF ***
|
# *** EOF ***
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
GFXINC += $(GFXLIB)/boards/base/Linux
|
GFXINC += $(GFXLIB)/boards/base/Linux
|
||||||
GFXSRC +=
|
GFXSRC +=
|
||||||
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
|
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
|
||||||
|
GFXLIBS += rt
|
||||||
|
|
||||||
include $(GFXLIB)/drivers/multiple/X/driver.mk
|
include $(GFXLIB)/drivers/multiple/X/driver.mk
|
||||||
|
|
||||||
|
|
|
@ -1,220 +1,44 @@
|
||||||
#
|
# Possible Targets: all clean Debug cleanDebug Release cleanRelease
|
||||||
# !!!! 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
|
# Settings
|
||||||
#
|
#
|
||||||
|
|
||||||
# Verbose compiling?
|
# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the meaning of these variables
|
||||||
USE_VERBOSE_COMPILE=no
|
OPT_VERBOSE_COMPILE = no
|
||||||
|
OPT_GENERATE_LISTINGS = yes
|
||||||
|
OPT_GENERATE_MAP = yes
|
||||||
|
OPT_COPY_EXE = no
|
||||||
|
OPT_NATIVEOS = linux
|
||||||
|
OPT_OS = linux
|
||||||
|
|
||||||
# Generate listing files?
|
# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables
|
||||||
USE_LISTING=no
|
GFXLIB = ../uGFX
|
||||||
|
GFXBOARD = Linux
|
||||||
# Your project name and executable file name - Optional, defaults to the project directory name
|
#GFXDRIVERS = multiple/uGFXnet
|
||||||
#PROJECT=uGFX
|
GFXDEMO = modules/gdisp/basics
|
||||||
|
|
||||||
##############################################################################################
|
##############################################################################################
|
||||||
# Start of default section
|
# Set these for your project
|
||||||
#
|
#
|
||||||
|
|
||||||
TRGT =
|
ARCH =
|
||||||
CC = $(TRGT)gcc
|
SRCFLAGS = -m32 -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm
|
||||||
AS = $(TRGT)gcc -x assembler-with-cpp
|
CFLAGS =
|
||||||
|
CXXFLAGS =
|
||||||
|
ASFLAGS =
|
||||||
|
LDFLAGS = -pthread
|
||||||
|
|
||||||
# List all default C defines here, like -D_DEBUG=1
|
SRC =
|
||||||
DDEFS =
|
DEFS =
|
||||||
|
LIBS =
|
||||||
# List all default ASM defines here, like -D_DEBUG=1
|
INCPATH =
|
||||||
DADEFS =
|
LIBPATH =
|
||||||
|
|
||||||
# List all default directories to look for include files here
|
|
||||||
DINCDIR =
|
|
||||||
|
|
||||||
# List the default directory to look for the libraries here
|
|
||||||
DLIBDIR =
|
|
||||||
|
|
||||||
# List all default libraries here
|
|
||||||
DLIBS = -lX11 -pthread -lrt
|
|
||||||
|
|
||||||
#
|
|
||||||
# End of default section
|
|
||||||
##############################################################################################
|
|
||||||
|
|
||||||
##############################################################################################
|
##############################################################################################
|
||||||
# Start of user section
|
# These should be at the end
|
||||||
#
|
#
|
||||||
|
|
||||||
# Default project name is the project directory name
|
include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
|
||||||
ifeq ($(PROJECT),)
|
include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
|
||||||
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)
|
|
||||||
|
|
||||||
# List ASM source files here
|
|
||||||
ASRC =
|
|
||||||
|
|
||||||
# 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
|
|
||||||
#
|
|
||||||
-include $(shell mkdir $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*)
|
|
||||||
|
|
||||||
# *** EOF ***
|
# *** EOF ***
|
||||||
|
|
7
boards/base/OSX/board.mk
Normal file
7
boards/base/OSX/board.mk
Normal file
|
@ -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
|
||||||
|
|
47
boards/base/OSX/example/Makefile
Normal file
47
boards/base/OSX/example/Makefile
Normal file
|
@ -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 ***
|
5
boards/base/OSX/example/readme.txt
Normal file
5
boards/base/OSX/example/readme.txt
Normal file
|
@ -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.
|
7
boards/base/OSX/readme.txt
Normal file
7
boards/base/OSX/readme.txt
Normal file
|
@ -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.
|
|
@ -1,5 +1,5 @@
|
||||||
GFXINC += $(GFXLIB)/boards/base/Win32
|
GFXINC +=
|
||||||
GFXSRC +=
|
GFXSRC +=
|
||||||
|
GFXLIBS +=
|
||||||
include $(GFXLIB)/drivers/multiple/Win32/driver.mk
|
include $(GFXLIB)/drivers/multiple/Win32/driver.mk
|
||||||
include $(GFXLIB)/drivers/gaudio/Win32/driver.mk
|
include $(GFXLIB)/drivers/gaudio/Win32/driver.mk
|
||||||
|
|
|
@ -1,239 +1,73 @@
|
||||||
#
|
# Possible Targets: all clean Debug cleanDebug Release cleanRelease
|
||||||
# !!!! 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
|
# Settings
|
||||||
#
|
#
|
||||||
|
|
||||||
# Turn ChibiOS simimulator on or off?
|
# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the meaning of these variables
|
||||||
USE_CHIBIOS=no
|
OPT_VERBOSE_COMPILE = no
|
||||||
|
OPT_GENERATE_LISTINGS = yes
|
||||||
|
OPT_GENERATE_MAP = yes
|
||||||
|
OPT_COPY_EXE = no
|
||||||
|
OPT_NATIVEOS = win32
|
||||||
|
OPT_OS = win32
|
||||||
|
|
||||||
# Verbose compiling?
|
# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables
|
||||||
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
|
|
||||||
|
|
||||||
#
|
|
||||||
# End of make control
|
|
||||||
##############################################################################################
|
|
||||||
|
|
||||||
##############################################################################################
|
|
||||||
# Start of default section
|
|
||||||
#
|
|
||||||
|
|
||||||
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 =
|
|
||||||
|
|
||||||
# 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
|
|
||||||
##############################################################################################
|
|
||||||
|
|
||||||
##############################################################################################
|
|
||||||
# Start of user section
|
|
||||||
#
|
|
||||||
|
|
||||||
# Imported source files and paths for uGFX
|
|
||||||
GFXLIB = ../uGFX
|
GFXLIB = ../uGFX
|
||||||
include $(GFXLIB)/gfx.mk
|
GFXBOARD = Win32
|
||||||
include $(GFXLIB)/boards/base/Win32/board.mk
|
#GFXDRIVERS = multiple/uGFXnet
|
||||||
|
GFXDEMO = modules/gdisp/basics
|
||||||
|
|
||||||
# Imported source files and paths for ChibiOS
|
# Win32 - ChibiOS simulator
|
||||||
ifeq ($(USE_CHIBIOS),yes)
|
ifeq ($(OPT_OS),chibios)
|
||||||
|
# Required: Location of the ChibiOS code
|
||||||
CHIBIOS = ../ChibiOS
|
CHIBIOS = ../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) \
|
|
||||||
$(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
|
|
||||||
endif
|
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
|
|
||||||
##############################################################################################
|
##############################################################################################
|
||||||
|
# Set these for your project
|
||||||
|
|
||||||
# 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
|
ARCH = i686-pc-mingw32-
|
||||||
|
SRCFLAGS = -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm
|
||||||
|
CFLAGS =
|
||||||
|
CXXFLAGS =
|
||||||
|
ASFLAGS =
|
||||||
|
LDFLAGS =
|
||||||
|
|
||||||
cleanDebug cleanRelease: clean
|
SRC =
|
||||||
|
DEFS =
|
||||||
all: $(BUILDDIR) $(OBJS) $(BUILDDIR)/$(PROJECT).exe MAKE_ALL_RULE_HOOK
|
LIBS =
|
||||||
#all: main.cp
|
INCPATH =
|
||||||
|
LIBPATH =
|
||||||
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)
|
|
||||||
|
|
||||||
|
##############################################################################################
|
||||||
|
# Optional: Win32 - ChibiOS Simulator
|
||||||
#
|
#
|
||||||
# Include the dependency files, should be the last of the makefile
|
|
||||||
#
|
|
||||||
-include $(shell mkdir $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*)
|
|
||||||
|
|
||||||
|
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
|
||||||
|
DEFS += SIMULATOR SHELL_USE_IPRINTF=FALSE
|
||||||
|
INCPATH += $(PORTINC) $(KERNINC) $(TESTINC) \
|
||||||
|
$(HALINC) $(PLATFORMINC) $(BOARDINC)
|
||||||
|
# $(CHIBIOS)/os/various
|
||||||
|
SRC += $(PORTSRC) \
|
||||||
|
$(KERNSRC) \
|
||||||
|
$(TESTSRC) \
|
||||||
|
$(HALSRC) \
|
||||||
|
$(PLATFORMSRC) \
|
||||||
|
$(BOARDSRC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
##############################################################################################
|
||||||
|
# These should be at the end
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
|
||||||
|
include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
|
||||||
# *** EOF ***
|
# *** EOF ***
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
GFXSRC += $(GFXLIB)/drivers/gaudio/Win32/gaudio_record_lld.c \
|
GFXSRC += $(GFXLIB)/drivers/gaudio/Win32/gaudio_record_lld.c \
|
||||||
$(GFXLIB)/drivers/gaudio/Win32/gaudio_play_lld.c
|
$(GFXLIB)/drivers/gaudio/Win32/gaudio_play_lld.c
|
||||||
|
|
||||||
# Required include directories
|
|
||||||
GFXINC += $(GFXLIB)/drivers/gaudio/Win32
|
GFXINC += $(GFXLIB)/drivers/gaudio/Win32
|
||||||
|
GFXLIBS += winmm
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
GFXINC += $(GFXLIB)/drivers/multiple/Win32
|
GFXINC += $(GFXLIB)/drivers/multiple/Win32
|
||||||
GFXSRC += $(GFXLIB)/drivers/multiple/Win32/gdisp_lld_Win32.c
|
GFXSRC += $(GFXLIB)/drivers/multiple/Win32/gdisp_lld_Win32.c
|
||||||
|
GFXLIBS += gdi32
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
GFXINC += $(GFXLIB)/drivers/multiple/X
|
GFXINC += $(GFXLIB)/drivers/multiple/X
|
||||||
GFXSRC += $(GFXLIB)/drivers/multiple/X/gdisp_lld_X.c
|
GFXSRC += $(GFXLIB)/drivers/multiple/X/gdisp_lld_X.c
|
||||||
|
GFXLIBS += X11
|
||||||
|
|
|
@ -1,2 +1,6 @@
|
||||||
GFXINC += $(GFXLIB)/drivers/multiple/uGFXnet
|
GFXINC += $(GFXLIB)/drivers/multiple/uGFXnet
|
||||||
GFXSRC += $(GFXLIB)/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
|
GFXSRC += $(GFXLIB)/drivers/multiple/uGFXnet/gdisp_lld_uGFXnet.c
|
||||||
|
|
||||||
|
ifeq($(OPT_NATIVEOS),win32)
|
||||||
|
GFXLIBS += ws2_32
|
||||||
|
endif
|
||||||
|
|
30
gfx.mk
30
gfx.mk
|
@ -13,3 +13,33 @@ include $(GFXLIB)/src/gadc/sys_make.mk
|
||||||
include $(GFXLIB)/src/gaudio/sys_make.mk
|
include $(GFXLIB)/src/gaudio/sys_make.mk
|
||||||
include $(GFXLIB)/src/gmisc/sys_make.mk
|
include $(GFXLIB)/src/gmisc/sys_make.mk
|
||||||
include $(GFXLIB)/src/gfile/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
|
||||||
|
|
155
tools/gmake_scripts/compiler_gcc.mk
Normal file
155
tools/gmake_scripts/compiler_gcc.mk
Normal file
|
@ -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 ***
|
20
tools/gmake_scripts/library_ugfx.mk
Normal file
20
tools/gmake_scripts/library_ugfx.mk
Normal file
|
@ -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)
|
60
tools/gmake_scripts/readme.txt
Normal file
60
tools/gmake_scripts/readme.txt
Normal file
|
@ -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
|
Loading…
Add table
Reference in a new issue