You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MiniDexed/src/Makefile

38 lines
1.3 KiB

#
# Makefile
#
CIRCLE_STDLIB_DIR = ../circle-stdlib
SYNTH_DEXED_DIR = ../Synth_Dexed/src
CMSIS_CORE_INCLUDE_DIR = ../CMSIS_5/CMSIS/Core/Include
CMSIS_DSP_INCLUDE_DIR = ../CMSIS_5/CMSIS/DSP/Include
CMSIS_DSP_PRIVATE_INCLUDE_DIR = ../CMSIS_5/CMSIS/DSP/PrivateInclude
CMSIS_DSP_SOURCE_DIR = ../CMSIS_5/CMSIS/DSP/Source
Restructure code and add new features (#37) * Make synth parameters configurable * Add class CConfig, which holds the configuration * Add template config file minidexed.ini * Register panic handler in CKernel to allow to display assertions * Fix: Performance timer did not show correct percent value with HDMI * Add class CDexedAdapter Some Dexed methods require to be guarded from being interrupted by other Dexed calls. This is done in the class CDexedAdapter. * Add class CUserInterface The user interface should be implemented here. As a start it supports showing the program number and name on the LCD display. The LCD output is buffered, so that LCD writes from an IRQ handler are possible. * Move MIDI handling from CMiniDexed to specific classes * CMIDIDevice is the generic MIDI handler * CMIDIKeyboard handles USB audio class MIDI devices * CSerialMIDIDevice handles the serial MIDI device * Now all MIDI inputs can work simultaneous * Program change and bank select work with serial MIDI * Add headers to all files * Include voices.c in sysexfileloader.cpp * Cleanup Makefile * Support headless operation on Raspberry Pi 4 Some code cleanup for src/kernel.* * Code cleanup for src/minidexed.* Move implementation of constructors to minidexed.cpp Reorder member variables * Support multiple USB MIDI inputs at once * Maximum 2 inputs on Raspberry Pi 1-3 * Maximum 4 inputs on Raspberry Pi 4 * Suppress frequent messages in MIDI dump * Use minidexed.txt * Document `SoundDevice` in `minidexed.ini` Co-authored-by: probonopd <probonopd@users.noreply.github.com>
2 years ago
OBJS = main.o kernel.o minidexed.o config.o userinterface.o \
mididevice.o midikeyboard.o serialmididevice.o pckeyboard.o \
sysexfileloader.o perftimer.o ky040.o \
$(SYNTH_DEXED_DIR)/PluginFx.o \
$(SYNTH_DEXED_DIR)/dexed.o \
$(SYNTH_DEXED_DIR)/dx7note.o \
$(SYNTH_DEXED_DIR)/env.o \
$(SYNTH_DEXED_DIR)/exp2.o \
$(SYNTH_DEXED_DIR)/fm_core.o \
$(SYNTH_DEXED_DIR)/fm_op_kernel.o \
$(SYNTH_DEXED_DIR)/freqlut.o \
$(SYNTH_DEXED_DIR)/lfo.o \
$(SYNTH_DEXED_DIR)/pitchenv.o \
$(SYNTH_DEXED_DIR)/porta.o \
$(SYNTH_DEXED_DIR)/sin.o \
$(CMSIS_DSP_SOURCE_DIR)/SupportFunctions/SupportFunctions.o
INCLUDE += -I $(SYNTH_DEXED_DIR)
INCLUDE += -I $(CMSIS_CORE_INCLUDE_DIR)
INCLUDE += -I $(CMSIS_DSP_INCLUDE_DIR)
INCLUDE += -I $(CMSIS_DSP_PRIVATE_INCLUDE_DIR)
CXXFLAGS += -DARM_MATH_NEON
EXTRACLEAN = $(SYNTH_DEXED_DIR)/*.o $(SYNTH_DEXED_DIR)/*.d $(CMSIS_DSP_SOURCE_DIR)/SupportFunctions/*.o $(CMSIS_DSP_SOURCE_DIR)/SupportFunctions/*.d
include ./Rules.mk