updated .gitignore
added source wrote README
This commit is contained in:
127
Makefile
Normal file
127
Makefile
Normal file
@ -0,0 +1,127 @@
|
||||
# ######## Build options ########
|
||||
|
||||
verbose = 0
|
||||
|
||||
######## Build setup ########
|
||||
|
||||
# SRCROOT should always be the current directory
|
||||
SRCROOT = $(CURDIR)
|
||||
|
||||
# .o directory
|
||||
ODIR = obj
|
||||
|
||||
# Source VPATHS
|
||||
VPATH += $(SRCROOT)/Source
|
||||
VPATH += $(SRCROOT)/Source/portable/MemMang
|
||||
VPATH += $(SRCROOT)/Source/portable/GCC/POSIX
|
||||
VPATH += $(SRCROOT)/Project/FileIO
|
||||
VPATH += $(SRCROOT)/Project
|
||||
|
||||
# FreeRTOS Objects
|
||||
C_FILES += croutine.c
|
||||
C_FILES += event_groups.c
|
||||
C_FILES += list.c
|
||||
C_FILES += queue.c
|
||||
C_FILES += tasks.c
|
||||
C_FILES += timers.c
|
||||
|
||||
# portable Objects
|
||||
C_FILES += heap_3.c
|
||||
C_FILES += port.c
|
||||
|
||||
|
||||
# Main Object
|
||||
C_FILES += demo.c
|
||||
C_FILES += nodes.c
|
||||
|
||||
|
||||
|
||||
# Include Paths
|
||||
INCLUDES += -I$(SRCROOT)/Source/include
|
||||
INCLUDES += -I$(SRCROOT)/Source/portable/GCC/POSIX/
|
||||
INCLUDES += -I$(SRCROOT)/Project
|
||||
|
||||
# Generate OBJS names
|
||||
OBJS = $(patsubst %.c,%.o,$(C_FILES))
|
||||
|
||||
######## C Flags ########
|
||||
|
||||
# Warnings
|
||||
CWARNS += -W
|
||||
CWARNS += -Wall
|
||||
CWARNS += -Werror
|
||||
CWARNS += -Wextra
|
||||
CWARNS += -Wformat
|
||||
CWARNS += -Wmissing-braces
|
||||
CWARNS += -Wno-cast-align
|
||||
CWARNS += -Wparentheses
|
||||
CWARNS += -Wshadow
|
||||
CWARNS += -Wno-sign-compare
|
||||
CWARNS += -Wswitch
|
||||
CWARNS += -Wuninitialized
|
||||
CWARNS += -Wunknown-pragmas
|
||||
CWARNS += -Wunused-function
|
||||
CWARNS += -Wunused-label
|
||||
CWARNS += -Wunused-parameter
|
||||
CWARNS += -Wunused-value
|
||||
CWARNS += -Wunused-variable
|
||||
#CWARNS += -Wmissing-prototypes
|
||||
|
||||
#CWARNS += -Wno-unused-function
|
||||
|
||||
CFLAGS += -m32
|
||||
CFLAGS += -DDEBUG=1
|
||||
#CFLAGS += -g -DUSE_STDIO=1 -D__GCC_POSIX__=1
|
||||
CFLAGS += -g -UUSE_STDIO -D__GCC_POSIX__=1
|
||||
ifneq ($(shell uname), Darwin)
|
||||
CFLAGS += -pthread
|
||||
endif
|
||||
|
||||
# MAX_NUMBER_OF_TASKS = max pthreads used in the POSIX port.
|
||||
# Default value is 64 (_POSIX_THREAD_THREADS_MAX), the minimum number required by POSIX.
|
||||
CFLAGS += -DMAX_NUMBER_OF_TASKS=300
|
||||
|
||||
CFLAGS += $(INCLUDES) $(CWARNS) -O2
|
||||
|
||||
######## Makefile targets ########
|
||||
|
||||
# Rules
|
||||
.PHONY : all
|
||||
all: setup FreeRTOS-Demo
|
||||
|
||||
.PHONY : setup
|
||||
setup:
|
||||
# Make obj directory
|
||||
@mkdir -p $(ODIR)
|
||||
|
||||
# Fix to place .o files in ODIR
|
||||
_OBJS = $(patsubst %,$(ODIR)/%,$(OBJS))
|
||||
|
||||
$(ODIR)/%.o: %.c
|
||||
# If verbose, print gcc execution, else hide
|
||||
ifeq ($(verbose),1)
|
||||
@echo ">> Compiling $<"
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
else
|
||||
@echo ">> Compiling $(notdir $<)"
|
||||
@$(CC) $(CFLAGS) -c -o $@ $<
|
||||
endif
|
||||
|
||||
FreeRTOS-Demo: $(_OBJS)
|
||||
@echo ">> Linking $@..."
|
||||
ifeq ($(verbose),1)
|
||||
$(CC) $(CFLAGS) $^ $(LINKFLAGS) $(LIBS) -o $@
|
||||
else
|
||||
@$(CC) $(CFLAGS) $^ $(LINKFLAGS) $(LIBS) -o $@
|
||||
endif
|
||||
|
||||
@echo "-------------------------"
|
||||
@echo "BUILD COMPLETE: $@"
|
||||
@echo "-------------------------"
|
||||
|
||||
.PHONY : clean
|
||||
clean:
|
||||
@-rm -rf $(ODIR) FreeRTOS-Demo
|
||||
@echo "--------------"
|
||||
@echo "CLEAN COMPLETE"
|
||||
@echo "--------------"
|
Reference in New Issue
Block a user