src.dualinventive.com/firmware/zkl-mcu/Makefile

50 lines
1.5 KiB
Makefile

MCUTYPE ?= "MCUTYPE_ZKL3000_RC"
ifeq ($(MCUTYPE),MCUTYPE_ZKL3000)
PROJECT_NAME=zkl
else
ifeq ($(MCUTYPE),MCUTYPE_TRT3000)
PROJECT_NAME=trt
else
PROJECT_NAME=zklrc
endif
endif
ifeq ($(DEBUG),1)
BUILD_TYPE=DEBUG
else
BUILD_TYPE=RELEASE
endif
CC=/usr/bin/wine $(HOME)/.wine/drive_c/Microchip-MPLAB-C30/bin/pic30-gcc.exe
AS=/usr/bin/wine $(HOME)/.wine/drive_c/Microchip-MPLAB-C30/bin/pic30-gcc.exe
LD=/usr/bin/wine $(HOME)/.wine/drive_c/Microchip-MPLAB-C30/bin/pic30-gcc.exe
BIN2HEX=/usr/bin/wine $(HOME)/.wine/drive_c/Microchip-MPLAB-C30/bin/pic30-bin2hex.exe
LDFLAGS=-mcpu=33FJ128MC506
CFLAGS=-mcpu=33FJ128MC506 -x c -I"mtinfo-common\include" -D__$(BUILD_TYPE) -g -Wall -D__MCUTYPE__=$(MCUTYPE) -Os -Wformat -Wformat-security -D_FORTIFY_SOURCE=2
AFLAGS=-mcpu=33FJ128MC506 -I"mtinfo-common\include" -Wa,--defsym=__$(BUILD_TYPE)=1,--defsym=__MCUTYPE__=$(MCUTYPE),-g
SOURCES=$(wildcard src/*.c)
OBJECTS=$(addprefix obj/, $(SOURCES:.c=.c.o))
ASSOURCES=$(wildcard src/*.s)
ASOBJECTS=$(addprefix obj/, $(ASSOURCES:.s=.s.o))
$(PROJECT_NAME).hex: $(OBJECTS) $(ASOBJECTS)
$(LD) $(LDFLAGS) $(OBJECTS) $(ASOBJECTS) -o obj/$(PROJECT_NAME).cof -Wl,-L$(HOME)/.wine/drive_c/Microchip-MPLAB-C30/lib,--script="src/zkl.gld",--defsym=__MPLAB_BUILD=1,--defsym=__MPLAB_DEBUG=1,-Map="obj/$(PROJECT_NAME).map",--report-mem
$(BIN2HEX) obj/$(PROJECT_NAME).cof
obj/%.c.o: %.c obj
@mkdir -p $(shell dirname $@)
$(CC) -c $(CFLAGS) $< -o $@
obj/%.s.o: %.s obj
@mkdir -p $(shell dirname $@)
$(AS) -c $(AFLAGS) $< -o $@
obj:
mkdir -p obj
clean:
rm -rf obj