Merge branch 'master' into newmouse
This commit is contained in:
commit
bbdc236967
21 changed files with 484 additions and 643 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
|
||||||
|
|
|
@ -9,10 +9,20 @@
|
||||||
|
|
||||||
#if GFX_USE_OS_LINUX
|
#if GFX_USE_OS_LINUX
|
||||||
|
|
||||||
|
// Linux seems to have deprecated pthread_yield() and now says to use sched_yield()
|
||||||
|
#define USE_SCHED_NOT_PTHREAD_YIELD TRUE
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <sys/time.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#if USE_SCHED_NOT_PTHREAD_YIELD
|
||||||
|
#include <sched.h>
|
||||||
|
#define linuxyield() sched_yield()
|
||||||
|
#else
|
||||||
|
#define linuxyield() pthread_yield()
|
||||||
|
#endif
|
||||||
|
|
||||||
static gfxMutex SystemMutex;
|
static gfxMutex SystemMutex;
|
||||||
|
|
||||||
|
@ -35,6 +45,10 @@ void gfxSystemUnlock(void) {
|
||||||
gfxMutexExit(&SystemMutex);
|
gfxMutexExit(&SystemMutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void gfxYield(void) {
|
||||||
|
linuxyield();
|
||||||
|
}
|
||||||
|
|
||||||
void gfxHalt(const char *msg) {
|
void gfxHalt(const char *msg) {
|
||||||
if (msg)
|
if (msg)
|
||||||
fprintf(stderr, "%s\n", msg);
|
fprintf(stderr, "%s\n", msg);
|
||||||
|
@ -46,7 +60,7 @@ void gfxSleepMilliseconds(delaytime_t ms) {
|
||||||
|
|
||||||
switch(ms) {
|
switch(ms) {
|
||||||
case TIME_IMMEDIATE:
|
case TIME_IMMEDIATE:
|
||||||
pthread_yield();
|
linuxyield();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case TIME_INFINITE:
|
case TIME_INFINITE:
|
||||||
|
@ -67,7 +81,7 @@ void gfxSleepMicroseconds(delaytime_t ms) {
|
||||||
|
|
||||||
switch(ms) {
|
switch(ms) {
|
||||||
case TIME_IMMEDIATE:
|
case TIME_IMMEDIATE:
|
||||||
pthread_yield();
|
linuxyield();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case TIME_INFINITE:
|
case TIME_INFINITE:
|
||||||
|
@ -93,6 +107,9 @@ systemticks_t gfxSystemTicks(void) {
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, threadpriority_t prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, threadpriority_t prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
||||||
gfxThreadHandle th;
|
gfxThreadHandle th;
|
||||||
|
(void) stackarea;
|
||||||
|
(void) stacksz;
|
||||||
|
(void) prio;
|
||||||
|
|
||||||
// Implementing priority with pthreads is a rats nest that is also pthreads implementation dependent.
|
// Implementing priority with pthreads is a rats nest that is also pthreads implementation dependent.
|
||||||
// Only some pthreads schedulers support it, some implementations use the operating system process priority mechanisms.
|
// Only some pthreads schedulers support it, some implementations use the operating system process priority mechanisms.
|
||||||
|
@ -151,7 +168,7 @@ bool_t gfxSemWait(gfxSem *pSem, delaytime_t ms) {
|
||||||
struct timeval now;
|
struct timeval now;
|
||||||
struct timespec tm;
|
struct timespec tm;
|
||||||
|
|
||||||
gettimeofday(&now);
|
gettimeofday(&now, 0);
|
||||||
tm.tv_sec = now.tv_sec + ms / 1000;
|
tm.tv_sec = now.tv_sec + ms / 1000;
|
||||||
tm.tv_nsec = (now.tv_usec + ms % 1000) * 1000;
|
tm.tv_nsec = (now.tv_usec + ms % 1000) * 1000;
|
||||||
while (!pSem->cnt) {
|
while (!pSem->cnt) {
|
||||||
|
|
|
@ -34,7 +34,6 @@ typedef pthread_mutex_t gfxMutex;
|
||||||
#define gfxRealloc(p,osz,nsz) realloc(p, nsz)
|
#define gfxRealloc(p,osz,nsz) realloc(p, nsz)
|
||||||
#define gfxFree(ptr) free(ptr)
|
#define gfxFree(ptr) free(ptr)
|
||||||
#define gfxMillisecondsToTicks(ms) (ms)
|
#define gfxMillisecondsToTicks(ms) (ms)
|
||||||
#define gfxYield() pthread_yield()
|
|
||||||
#define gfxThreadMe() pthread_self()
|
#define gfxThreadMe() pthread_self()
|
||||||
#define gfxThreadClose(th) (void)th
|
#define gfxThreadClose(th) (void)th
|
||||||
#define gfxMutexInit(pmtx) pthread_mutex_init(pmtx, 0)
|
#define gfxMutexInit(pmtx) pthread_mutex_init(pmtx, 0)
|
||||||
|
@ -67,6 +66,7 @@ typedef struct gfxSem {
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void gfxYield(void);
|
||||||
void gfxHalt(const char *msg);
|
void gfxHalt(const char *msg);
|
||||||
void gfxSleepMilliseconds(delaytime_t ms);
|
void gfxSleepMilliseconds(delaytime_t ms);
|
||||||
void gfxSleepMicroseconds(delaytime_t ms);
|
void gfxSleepMicroseconds(delaytime_t ms);
|
||||||
|
|
|
@ -30,7 +30,7 @@ void get_ticks(mach_timespec_t *mts){
|
||||||
clock_get_time(cclock, mts);
|
clock_get_time(cclock, mts);
|
||||||
mach_port_deallocate(mach_task_self(), cclock);
|
mach_port_deallocate(mach_task_self(), cclock);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void _gosInit(void)
|
void _gosInit(void)
|
||||||
|
@ -89,16 +89,19 @@ void gfxSleepMicroseconds(delaytime_t ms) {
|
||||||
systemticks_t gfxSystemTicks(void) {
|
systemticks_t gfxSystemTicks(void) {
|
||||||
//struct timespec ts;
|
//struct timespec ts;
|
||||||
//clock_gettime(CLOCK_MONOTONIC, &ts);
|
//clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||||
|
|
||||||
mach_timespec_t ts;
|
mach_timespec_t ts;
|
||||||
get_ticks(&ts);
|
get_ticks(&ts);
|
||||||
|
|
||||||
|
|
||||||
return ts.tv_sec * 1000UL + ts.tv_nsec / 1000UL;
|
return ts.tv_sec * 1000UL + ts.tv_nsec / 1000UL;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, threadpriority_t prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, threadpriority_t prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param) {
|
||||||
gfxThreadHandle th;
|
gfxThreadHandle th;
|
||||||
|
(void) stackarea;
|
||||||
|
(void) stacksz;
|
||||||
|
(void) prio;
|
||||||
|
|
||||||
// Implementing priority with pthreads is a rats nest that is also pthreads implementation dependent.
|
// Implementing priority with pthreads is a rats nest that is also pthreads implementation dependent.
|
||||||
// Only some pthreads schedulers support it, some implementations use the operating system process priority mechanisms.
|
// Only some pthreads schedulers support it, some implementations use the operating system process priority mechanisms.
|
||||||
|
|
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