aboutsummaryrefslogtreecommitdiffstats
path: root/src/tone-test-sim/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/tone-test-sim/Makefile')
-rw-r--r--src/tone-test-sim/Makefile149
1 files changed, 149 insertions, 0 deletions
diff --git a/src/tone-test-sim/Makefile b/src/tone-test-sim/Makefile
new file mode 100644
index 0000000..9e48dbc
--- /dev/null
+++ b/src/tone-test-sim/Makefile
@@ -0,0 +1,149 @@
+
+######## Build options ########
+
+verbose = 1
+
+######## 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)/src/Core
+VPATH += $(SRCROOT)/src/GPIO
+VPATH += $(SRCROOT)/src/GPS
+
+# 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
+
+# common Objects
+#COMMON_SOURCE_LIST=$(shell cat ../common/sourcelist.txt)
+#C_FILES+=$(COMMON_SOURCE_LIST:%.c=../common/%.c)
+
+C_FILES+=../common/src/Audio/tone.c
+
+# Main Object
+SRC_SOURCES+=$(shell find -L src/ -name '*.c' -not -name 'vc.c')
+C_FILES += $(SRC_SOURCES)
+
+# Include Paths
+INCLUDES += -I$(SRCROOT)/Source/include
+INCLUDES += -I$(SRCROOT)/Source/portable/GCC/POSIX/
+INCLUDES += -I$(SRCROOT)/src/Core
+INCLUDES += -I$(SRCROOT)/../common/includes/
+INCLUDES += -I$(SRCROOT)
+
+# Generate OBJS names
+OBJS = $(patsubst %.c,%.o,$(C_FILES))
+OBJS += src/Core/vc.o
+
+######## 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
+
+CFLAGS += -DDEBUG=1
+CFLAGS += -g -DUSE_STDIO=1 -D__GCC_POSIX__=1 -lm -lm
+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 -DSIMULATOR
+
+CFLAGS += $(INCLUDES) $(CWARNS) -O2
+
+######## Makefile targets ########
+
+# Rules
+.PHONY : all
+all: vc.h setup tone-test-sim
+
+.PHONY : setup
+setup:
+# Make obj directory
+ @mkdir -p $(ODIR)
+
+# Fix to place .o files in ODIR
+_OBJS = $(patsubst %,$(ODIR)/%,$(OBJS))
+
+dir_guard=@mkdir -p $(@D)
+
+$(ODIR)/src/Core/vc.o: src/Core/vc.c vc.h
+ $(dir_guard)
+ @echo "[CC] version information vc.c"
+ifeq ($(verbose),1)
+ $(CC) $(CFLAGS) src/Core/vc.c -c -o $(ODIR)/src/Core/vc.o
+else
+ @$(CC) $(CFLAGS) src/Core/vc.c -c -o $(ODIR)/src/Core/vc.o
+endif
+
+$(ODIR)/%.o: %.c
+ $(dir_guard)
+# If verbose, print gcc execution, else hide
+ifeq ($(verbose),1)
+ @echo "[CC] $<"
+ $(CC) $(CFLAGS) -c -o $@ $<
+else
+ @echo "[CC] $(notdir $<)"
+ @$(CC) $(CFLAGS) -c -o $@ $<
+endif
+
+.PHONY: vc.h
+vc.h: ../../.git/logs/HEAD
+ @echo "// This file is generated by Makefile." > vc.h
+ @echo "// Do not edit this file!" >> vc.h
+ @echo "const char* vc_get_version(void);" >> vc.h
+ @echo >> vc.h
+ @git log -1 --format="format:#define GIT_VERSION \"%h\"" >> vc.h
+ @echo >> vc.h
+ @echo >> vc.h
+ @echo [GEN] vc.h
+
+tone-test-sim: $(_OBJS)
+ @echo "[LK] $@"
+ifeq ($(verbose),1)
+ $(CC) $(CFLAGS) $^ $(LINKFLAGS) $(LIBS) -o $@
+else
+ @$(CC) $(CFLAGS) $^ $(LINKFLAGS) $(LIBS) -o $@
+endif
+ @echo "[:)] Happiness :)"
+
+.PHONY : clean
+clean:
+ @-rm -rf $(ODIR) tone-test-sim common/
+ @echo "[RM] Cleanuped °o°"