New makefile structure. Also OSX board defintion
This commit is contained in:
parent
2776d00e82
commit
daf9f65b9f
@ -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
|
||||
|
@ -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".
|
||||
#
|
||||
# Possible Targets: all clean Debug cleanDebug Release cleanRelease
|
||||
|
||||
##############################################################################################
|
||||
# Start of make control
|
||||
# Settings
|
||||
#
|
||||
|
||||
# Verbose compiling?
|
||||
USE_VERBOSE_COMPILE=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 = linux
|
||||
OPT_OS = linux
|
||||
|
||||
# Generate listing files?
|
||||
USE_LISTING=no
|
||||
|
||||
# Your project name and executable file name - Optional, defaults to the project directory name
|
||||
#PROJECT=uGFX
|
||||
# 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
|
||||
|
||||
##############################################################################################
|
||||
# Start of default section
|
||||
# Set these for your project
|
||||
#
|
||||
|
||||
TRGT =
|
||||
CC = $(TRGT)gcc
|
||||
AS = $(TRGT)gcc -x assembler-with-cpp
|
||||
ARCH =
|
||||
SRCFLAGS = -m32 -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm
|
||||
CFLAGS =
|
||||
CXXFLAGS =
|
||||
ASFLAGS =
|
||||
LDFLAGS = -pthread
|
||||
|
||||
# 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 =
|
||||
|
||||
# List the default directory to look for the libraries here
|
||||
DLIBDIR =
|
||||
|
||||
# List all default libraries here
|
||||
DLIBS = -lrt
|
||||
|
||||
#
|
||||
# End of default section
|
||||
##############################################################################################
|
||||
SRC =
|
||||
DEFS =
|
||||
LIBS =
|
||||
INCPATH =
|
||||
LIBPATH =
|
||||
|
||||
##############################################################################################
|
||||
# Start of user section
|
||||
# These should be at the end
|
||||
#
|
||||
|
||||
# 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)
|
||||
|
||||
# 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)/*)
|
||||
|
||||
include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
|
||||
include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
|
||||
# *** EOF ***
|
||||
|
@ -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
|
||||
|
||||
|
@ -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".
|
||||
#
|
||||
# Possible Targets: all clean Debug cleanDebug Release cleanRelease
|
||||
|
||||
##############################################################################################
|
||||
# Start of make control
|
||||
# Settings
|
||||
#
|
||||
|
||||
# Verbose compiling?
|
||||
USE_VERBOSE_COMPILE=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 = linux
|
||||
OPT_OS = linux
|
||||
|
||||
# Generate listing files?
|
||||
USE_LISTING=no
|
||||
|
||||
# Your project name and executable file name - Optional, defaults to the project directory name
|
||||
#PROJECT=uGFX
|
||||
# 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
|
||||
|
||||
##############################################################################################
|
||||
# Start of default section
|
||||
# Set these for your project
|
||||
#
|
||||
|
||||
TRGT =
|
||||
CC = $(TRGT)gcc
|
||||
AS = $(TRGT)gcc -x assembler-with-cpp
|
||||
ARCH =
|
||||
SRCFLAGS = -m32 -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm
|
||||
CFLAGS =
|
||||
CXXFLAGS =
|
||||
ASFLAGS =
|
||||
LDFLAGS = -pthread
|
||||
|
||||
# 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 =
|
||||
|
||||
# List the default directory to look for the libraries here
|
||||
DLIBDIR =
|
||||
|
||||
# List all default libraries here
|
||||
DLIBS = -lX11 -pthread -lrt
|
||||
|
||||
#
|
||||
# End of default section
|
||||
##############################################################################################
|
||||
SRC =
|
||||
DEFS =
|
||||
LIBS =
|
||||
INCPATH =
|
||||
LIBPATH =
|
||||
|
||||
##############################################################################################
|
||||
# Start of user section
|
||||
# These should be at the end
|
||||
#
|
||||
|
||||
# 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)
|
||||
|
||||
# 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)/*)
|
||||
|
||||
include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk
|
||||
include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk
|
||||
# *** 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 +=
|
||||
|
||||
GFXLIBS +=
|
||||
include $(GFXLIB)/drivers/multiple/Win32/driver.mk
|
||||
include $(GFXLIB)/drivers/gaudio/Win32/driver.mk
|
||||
|
@ -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
|
||||
|
||||
# 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
|
||||
# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables
|
||||
GFXLIB = ../uGFX
|
||||
include $(GFXLIB)/gfx.mk
|
||||
include $(GFXLIB)/boards/base/Win32/board.mk
|
||||
GFXBOARD = Win32
|
||||
#GFXDRIVERS = multiple/uGFXnet
|
||||
GFXDEMO = modules/gdisp/basics
|
||||
|
||||
# Imported source files and paths for ChibiOS
|
||||
ifeq ($(USE_CHIBIOS),yes)
|
||||
# Win32 - ChibiOS simulator
|
||||
ifeq ($(OPT_OS),chibios)
|
||||
# Required: Location of the ChibiOS code
|
||||
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
|
||||
|
||||
# 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
|
||||
# Set these for your project
|
||||
#
|
||||
|
||||
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
|
||||
|
||||
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)
|
||||
SRC =
|
||||
DEFS =
|
||||
LIBS =
|
||||
INCPATH =
|
||||
LIBPATH =
|
||||
|
||||
##############################################################################################
|
||||
# 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 ***
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,2 +1,3 @@
|
||||
GFXINC += $(GFXLIB)/drivers/multiple/X
|
||||
GFXSRC += $(GFXLIB)/drivers/multiple/X/gdisp_lld_X.c
|
||||
GFXLIBS += X11
|
||||
|
@ -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
|
||||
|
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/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
|
||||
|
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…
Reference in New Issue
Block a user