#
# Makefile  -  !Midisyn build definition
#
# uses gccsdk 4.7.4 release 6
# created 1/2024

CC = gcc
CFLAGS = -mlibscl -c -Wall -mthrowback -O2 -mpoke-function-name
AS = gcc
ASFLAGS = -mlibscl -c -Wall -mthrowback
LD = gcc
LDFLAGS = -mlibscl

# listings
#CFLAGS += -fverbose-asm -save-temps
#LDFLAGS += -Wl,-Map=map

C_OBJ = o.main o.lib o.display o.editor o.control o.waveform

A_OBJ = o.line o.fft

H_SRC = h.editor h.control h.common h.midi_spec h.lib \
  h.main h.wimp h.exp h.synth h.waveform

OBJS = $(A_OBJ) $(C_OBJ)

App = ^.!RunImage

Midisyn: $(App)

# Link          
$(App): $(OBJS)
	$(LD) $(LDFLAGS) -o $@ $(OBJS)

# Compile
$(C_OBJ): o.%: c.%
	$(CC) $(CFLAGS) $<

# Assemble
$(A_OBJ): o.%: s.%
	$(AS) $(ASFLAGS) $<

# Headers
$(OBJS): $(H_SRC) Makefile

clean:
	wipe o.* ~C~V


