diff options
author | inmarket <andrewh@inmarket.com.au> | 2014-09-28 01:42:30 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2014-09-28 01:42:30 +1000 |
commit | daf9f65b9fb9822bc3bc80d63b66a612e085802a (patch) | |
tree | 554493727b03b8dc0277a9f7d5b53e339188a1fd /boards/base/Win32/example/Makefile | |
parent | 2776d00e82b85365efa38d0067b658fd2818ca41 (diff) | |
download | uGFX-daf9f65b9fb9822bc3bc80d63b66a612e085802a.tar.gz uGFX-daf9f65b9fb9822bc3bc80d63b66a612e085802a.tar.bz2 uGFX-daf9f65b9fb9822bc3bc80d63b66a612e085802a.zip |
New makefile structure. Also OSX board defintion
Diffstat (limited to 'boards/base/Win32/example/Makefile')
-rw-r--r-- | boards/base/Win32/example/Makefile | 264 |
1 files changed, 49 insertions, 215 deletions
diff --git a/boards/base/Win32/example/Makefile b/boards/base/Win32/example/Makefile index 7d54ac02..502cf1ac 100644 --- a/boards/base/Win32/example/Makefile +++ b/boards/base/Win32/example/Makefile @@ -1,239 +1,73 @@ -# -# !!!! Do NOT edit this makefile with an editor which replace tabs by spaces !!!! -# -############################################################################################## -# -# On command line: -# -# make all = Create project -# -# make clean = Clean project files. -# -# To rebuild project do "make clean" and "make all". -# +# Possible Targets: all clean Debug cleanDebug Release cleanRelease ############################################################################################## -# Start of make control +# Settings # -# Turn ChibiOS simimulator on or off? -USE_CHIBIOS=no +# See $(GFXLIB)/tools/gmake_scripts/readme.txt for the meaning of these variables +OPT_VERBOSE_COMPILE = no +OPT_GENERATE_LISTINGS = yes +OPT_GENERATE_MAP = yes +OPT_COPY_EXE = no +OPT_NATIVEOS = win32 +OPT_OS = win32 -# Verbose compiling? -USE_VERBOSE_COMPILE=no - -# Generate listing files? -USE_LISTING=no +# See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the meaning of these variables +GFXLIB = ../uGFX +GFXBOARD = Win32 +#GFXDRIVERS = multiple/uGFXnet +GFXDEMO = modules/gdisp/basics -# Your project name and executable file name - Optional, defaults to the project directory name -#PROJECT=uGFX +# Win32 - ChibiOS simulator +ifeq ($(OPT_OS),chibios) + # Required: Location of the ChibiOS code + CHIBIOS = ../ChibiOS +endif -# -# End of make control -############################################################################################## ############################################################################################## -# Start of default section +# Set these for your project # -CC = i686-pc-mingw32-gcc -g - -# List all default C defines here, like -D_DEBUG=1 -DDEFS = - -# List all default directories to look for include files here -DINCDIR = +ARCH = i686-pc-mingw32- +SRCFLAGS = -ggdb -O0 -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm +CFLAGS = +CXXFLAGS = +ASFLAGS = +LDFLAGS = -# List the default directory to look for the libraries here -DLIBDIR = - -# List all default libraries here -DLIBS = -lws2_32 -lgdi32 -lwinmm - -# Make sure this empty for now -SRC = - -# -# End of default section -############################################################################################## +SRC = +DEFS = +LIBS = +INCPATH = +LIBPATH = ############################################################################################## -# Start of user section +# Optional: Win32 - ChibiOS Simulator # -# Imported source files and paths for uGFX -GFXLIB = ../uGFX -include $(GFXLIB)/gfx.mk -include $(GFXLIB)/boards/base/Win32/board.mk - -# Imported source files and paths for ChibiOS -ifeq ($(USE_CHIBIOS),yes) - CHIBIOS = ../ChibiOS +ifeq ($(OPT_OS),chibios) include $(CHIBIOS)/boards/simulator/board.mk - include ${CHIBIOS}/os/hal/hal.mk - include ${CHIBIOS}/os/hal/platforms/Win32/platform.mk - include ${CHIBIOS}/os/ports/GCC/SIMIA32/port.mk - include ${CHIBIOS}/os/kernel/kernel.mk - DDEFS += -DSIMULATOR -DSHELL_USE_IPRINTF=FALSE - UINCDIR += $(PORTINC) $(KERNINC) $(TESTINC) \ + include $(CHIBIOS)/os/hal/hal.mk + include $(CHIBIOS)/os/hal/platforms/Win32/platform.mk + include $(CHIBIOS)/os/ports/GCC/SIMIA32/port.mk + include $(CHIBIOS)/os/kernel/kernel.mk + DEFS += SIMULATOR SHELL_USE_IPRINTF=FALSE + INCPATH += $(PORTINC) $(KERNINC) $(TESTINC) \ $(HALINC) $(PLATFORMINC) $(BOARDINC) - # ${CHIBIOS}/os/various - SRC += ${PORTSRC} \ - ${KERNSRC} \ - ${TESTSRC} \ - ${HALSRC} \ - ${PLATFORMSRC} \ - $(BOARDSRC) - GFXDEFS += -DGFX_USE_OS_CHIBIOS=TRUE -else - GFXDEFS += -DGFX_USE_OS_WIN32=TRUE + # $(CHIBIOS)/os/various + SRC += $(PORTSRC) \ + $(KERNSRC) \ + $(TESTSRC) \ + $(HALSRC) \ + $(PLATFORMSRC) \ + $(BOARDSRC) endif -# Where is our source code - alter these for your project. -# Either just include the demo makefile or add your own definitions -include $(GFXLIB)/demos/modules/gdisp/basics/demo.mk -#MYFILES = my-project-directory -#MYCSRC = $(MYFILES)/main.c -#MYDEFS = - -# List C source files here -SRC += ${GFXSRC} \ - ${MYCSRC} - -# List all user C define here, like -D_DEBUG=1 -UDEFS = ${GFXDEFS} - -# List all user directories here -UINCDIR = ${GFXINC} \ - ${MYFILES} - -# List the user directory to look for the libraries here -ULIBDIR = - -# List all user libraries here -ULIBS = - -# Define optimisation level here -#OPT = -ggdb -O2 -fomit-frame-pointer -OPT = -ggdb -O0 -fomit-frame-pointer - -# -# End of user defines ############################################################################################## - - -# Default project name is the project directory name -ifeq ($(PROJECT),) - PROJECT := $(notdir $(patsubst %/,%,$(dir $(abspath $(firstword $(MAKEFILE_LIST)))))) -endif - -# Output directory and files -ifeq ($(MAKECMDGOALS),Debug) - BUILDDIR = bin/Debug -else ifeq ($(MAKECMDGOALS),Release) - BUILDDIR = bin/Release -else ifeq ($(MAKECMDGOALS),cleanDebug) - BUILDDIR = bin/Debug -else ifeq ($(MAKECMDGOALS),cleanRelease) - BUILDDIR = bin/Release -else ifeq ($(BUILDDIR),) - BUILDDIR = .build -else ifeq ($(BUILDDIR),.) - BUILDDIR = .build -endif - -OBJDIR = $(BUILDDIR)/obj -LSTDIR = $(BUILDDIR)/lst -MAPDIR = $(BUILDDIR)/map -DEPDIR = .dep - -INCDIR = $(patsubst %,-I%,$(DINCDIR) $(UINCDIR)) -LIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR)) -DEFS = $(DDEFS) $(UDEFS) -ADEFS = $(DADEFS) $(UADEFS) -COBJ = $(addprefix $(OBJDIR)/, $(subst ../,_dot_dot/,$(SRC:.c=.o))) -AOBJ = $(addprefix $(OBJDIR)/, $(subst ../,_dot_dot/,$(ASRC:.s=.o))) -OBJS = $(AOBJ) $(COBJ) -LIBS = $(DLIBS) $(ULIBS) - -LDFLAGS = -Wl,-Map=$(MAPDIR)/$(PROJECT).map,--cref,--no-warn-mismatch $(LIBDIR) -CPFLAGS = $(OPT) -Wall -Wextra -Wstrict-prototypes -fverbose-asm $(DEFS) -ifeq ($(USE_LISTING),yes) - CPFLAGS += -Wa,-alms=$(LSTDIR)/$(<:.c=.lst) -endif - -# Generate dependency information -CPFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d - -# -# makefile rules -# - -Debug Release: all - -cleanDebug cleanRelease: clean - -all: $(BUILDDIR) $(OBJS) $(BUILDDIR)/$(PROJECT).exe MAKE_ALL_RULE_HOOK -#all: main.cp - -main.cp: $(MYCSRC) - $(CC) -c $(CPFLAGS) -E -P -I. $(INCDIR) $< -o $@ - -MAKE_ALL_RULE_HOOK: - -$(BUILDDIR) $(OBJDIR) $(LSTDIR): - mkdir -p $(OBJDIR) - mkdir -p $(MAPDIR) -ifeq ($(USE_LISTING),yes) - mkdir -p $(LSTDIR) -endif -ifneq ($(USE_VERBOSE_COMPILE),yes) - @echo Compiler Options - $(CC) -c $(CPFLAGS) -I. $(INCDIR) main.c -o $(OBJDIR)/main.o - @echo -endif - -.SECONDEXPANSION: -$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.c) - @mkdir -p $(dir $@) -ifeq ($(USE_VERBOSE_COMPILE),yes) - @echo - $(CC) -c $(CPFLAGS) -I. $(INCDIR) $< -o $@ -else - @echo Compiling $< - @$(CC) -c $(CPFLAGS) -I. $(INCDIR) $< -o $@ -endif - -$(OBJDIR)/%.o : $$(subst _dot_dot/,../,%.s) - @mkdir -p $(dir $@) -ifeq ($(USE_VERBOSE_COMPILE),yes) - @echo - $(AS) -c $(ASFLAGS) -I. $(INCDIR) $< -o $@ -else - @echo Compiling $< - @$(AS) -c $(ASFLAGS) -I. $(INCDIR) $< -o $@ -endif - -%.exe: $(OBJS) -ifeq ($(USE_VERBOSE_COMPILE),yes) - @echo - $(CC) $(OBJS) $(LDFLAGS) $(LIBS) -o $@ -else - @echo Linking $@ - @$(CC) $(OBJS) $(LDFLAGS) $(LIBS) -o $@ -endif - -gcov: - -mkdir gcov - $(COV) -u $(subst /,\,$(SRC)) - -mv *.gcov ./gcov - -clean: - -rm -fR $(BUILDDIR) - -rm -fR $(DEPDIR) - -# -# Include the dependency files, should be the last of the makefile +# These should be at the end # --include $(shell mkdir $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*) +include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk +include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk # *** EOF *** |