# # labsw/Makefile - Makefile for the Lab Switch firmware # # Written 2011 by Werner Almesberger # Copyright 2011 Werner Almesberger # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # MAIN = labsw OBJS = $(MAIN) usb descr version # ep0 F32XBASE = ../../../f32xbase include $(F32XBASE)/fw/common/Makefile.system include $(F32XBASE)/fw/common/Makefile.common CFLAGS += -I../common -I../include LDFLAGS += --code-size $(PAYLOAD_SIZE) --code-loc $(PAYLOAD_START) USB_ID = $(shell \ ( echo '\#include "usb-id.h"'; echo USB_VENDOR:USB_PRODUCT; ) | \ cpp | sed '/^ *$$/d;/^\#/d' ) .PHONY: dfu all: $(MAIN) $(MAIN).rel: io-parts.h io-parts.h: io.h Makefile cpp -dD $< | \ sed '1,/IO_H/d' | \ awk \ 'BEGIN { print "/* MACHINE-GENERATED. DO NOT EDIT ! */"; \ print "#ifndef IO_PARTS_H"; \ print "#define IO_PARTS_H"; } \ /#define/ && $$3 != "" { \ split($$3, a, "_"); \ print $$1, $$2 "_PORT", a[1]; \ print $$1, $$2 "_MODE", a[1] "MDOUT"; \ print $$1, $$2 "_BIT", a[2]; } \ END { print "#endif" }' >$@ || \ { rm -f $@; exit 1; } clean:: rm -f io-parts.h # hack: for now, we just reuse the boot loader from cntr USB_ID = 20b7:cb72 dfu: dfu-util -d $(USB_ID) -D $(MAIN).bin