forked from pingdynasty/OwlWare
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
80 lines (67 loc) · 2.23 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
TEMPLATEROOT = .
ifndef CONFIG
CONFIG = Debug
endif
ifndef PLATFORM
PLATFORM=Pedal
endif
ifeq ($(CONFIG),Debug)
CPPFLAGS = -g -Wall -Wcpp -Wunused-function -DDEBUG -DUSE_FULL_ASSERT
ASFLAGS = -g
endif
ifeq ($(CONFIG),Release)
CPPFLAGS = -O2
# CPPFLAGS += -flto
# LDFLAGS += -flto
endif
ifeq ($(PLATFORM),Modular)
CPPFLAGS += -DOWLMODULAR
endif
LDFLAGS += -Wl,--gc-sections
LDSCRIPT = Source/flash.ld
CPPFLAGS += --specs=nano.specs
CPPFLAGS += -DEXTERNAL_SRAM -DARM_CORTEX
# CPPFLAGS += -fpic -fpie
CPPFLAGS += -fdata-sections
CPPFLAGS += -ffunction-sections
#CPPFLAGS += -mno-unaligned-access
#CPPFLAGS += -fno-omit-frame-pointer
CPPFLAGS += -nostdlib -nostartfiles -fno-builtin -ffreestanding
CPPFLAGS += -mtune=cortex-m4
CXXFLAGS = -fno-rtti -fno-exceptions -std=c++11
CFLAGS += -std=gnu99
C_SRC = codec.c i2s.c errorhandlers.c crc32.c # fsmc_sram.c
# C_SRC += usb_dcd_int.c
C_SRC += system_hse.c
C_SRC += usbd_desc.c usb_bsp.c usbd_usr.c
C_SRC += usbd_audio_core.c
C_SRC += armcontrol.c usbcontrol.c owlcontrol.c midicontrol.c eepromcontrol.c
C_SRC += clock.c operators.c gpio.c sysex.c # serial.c
C_SRC += bkp_sram.c
C_SRC += sramalloc.c
C_SRC += basicmaths.c
# FreeRTOS Source Files
FREERTOS_SRC = port.c
FREERTOS_SRC += list.c
FREERTOS_SRC += queue.c
FREERTOS_SRC += tasks.c
FREERTOS_SRC += event_groups.c
FREERTOS_SRC += timers.c
FREERTOS_SRC += heap_4.c
CPP_SRC = main.cpp
CPP_SRC += Owl.cpp CodecController.cpp MidiController.cpp ApplicationSettings.cpp
CPP_SRC += PatchRegistry.cpp ProgramManager.cpp
CPP_SRC += FactoryPatches.cpp ServiceCall.cpp
CPP_SRC += PatchProcessor.cpp StompBox.cpp FloatArray.cpp
OBJS = $(C_SRC:%.c=Build/%.o) $(CPP_SRC:%.cpp=Build/%.o) $(FREERTOS_SRC:%.c=Build/%.o)
vpath %.c $(TEMPLATEROOT)/Libraries/FreeRTOS/
vpath %.c $(TEMPLATEROOT)/Libraries/FreeRTOS/portable/GCC/ARM_CM4F
vpath %.c $(TEMPLATEROOT)/Libraries/FreeRTOS/portable/MemMang
CPPFLAGS += -I$(TEMPLATEROOT)/Libraries/FreeRTOS/include
CPPFLAGS += -I$(TEMPLATEROOT)/Libraries/FreeRTOS/portable/GCC/ARM_CM4F
vpath %.c $(TEMPLATEROOT)/ProgramSource
vpath %.cpp $(TEMPLATEROOT)/ProgramSource
CPPFLAGS += -I$(TEMPLATEROOT)/ProgramSource
CPPFLAGS += -I$(TEMPLATEROOT)/Libraries/OwlPatches
include $(TEMPLATEROOT)/libs.mk
include $(TEMPLATEROOT)/f4.mk