From 4782465ef5d08bd7e7a36085a3013ed379e90ec2 Mon Sep 17 00:00:00 2001 From: bryan newbold Date: Tue, 12 Nov 2013 19:57:34 -0500 Subject: hack fix for bug with include ordering There seems to be a problem with the default target being overriden when a board-specific file is included before xilinx.mk. Workaround is to include targets last. --- Makefile.example | 9 +++++---- contrib/sp605/settings.mk | 12 ++++++++++++ contrib/sp605/sp605.mk | 12 ------------ contrib/xilinx.mk | 5 +++-- contrib/xula2/settings.mk | 12 ++++++++++++ contrib/xula2/targets.mk | 16 ++++++++++++++++ contrib/xula2/xula2.mk | 24 ------------------------ 7 files changed, 48 insertions(+), 42 deletions(-) create mode 100644 contrib/sp605/settings.mk delete mode 100644 contrib/sp605/sp605.mk create mode 100644 contrib/xula2/settings.mk create mode 100644 contrib/xula2/targets.mk delete mode 100644 contrib/xula2/xula2.mk diff --git a/Makefile.example b/Makefile.example index 8194587..c0c566d 100644 --- a/Makefile.example +++ b/Makefile.example @@ -8,11 +8,12 @@ vendor := xilinx ### Uncomment this line to use the Xilinx SP605 dev board with default ### configuration -#include ./contrib/sp605/sp605.mk +#include ./contrib/sp605/settings.mk -### Uncomment this line to use the Xula2 dev board with default configuration +### Uncomment these lines to use the Xula2 dev board with default configuration ### See also ./contrib/xula2/README.xula2 -include ./contrib/xula2/xula2.mk +include ./contrib/xula2/settings.mk +extra_includes += ./contrib/xula2/targets.mk ### Edit and uncomment the below lines to use a custom board #board := exampleboard @@ -26,7 +27,7 @@ include ./contrib/xula2/xula2.mk ### Uncomment this line and create a new makefile to include any ### hardware-specific targets (eg, upload via SPI) -#extra_includes = exampleproj.mk +#extra_includes += exampleproj.mk part := $(device)$(speedgrade)-$(device_package) diff --git a/contrib/sp605/settings.mk b/contrib/sp605/settings.mk new file mode 100644 index 0000000..857417b --- /dev/null +++ b/contrib/sp605/settings.mk @@ -0,0 +1,12 @@ +# Configuration variables and build targets for the Xilinx Spartan6 SP605 Dev +# Board + +board := sp605 +family := spartan6 +device := xc6slx45t +speedgrade := -3 +device_package := fgg484 +bitconf_file := ./contrib/sp605/sp605.bitconf +ucf_file := ./contrib/sp605/sp605.ucf +opt_file := ./contrib/default.opt +mcs_datawidth := 16 diff --git a/contrib/sp605/sp605.mk b/contrib/sp605/sp605.mk deleted file mode 100644 index 857417b..0000000 --- a/contrib/sp605/sp605.mk +++ /dev/null @@ -1,12 +0,0 @@ -# Configuration variables and build targets for the Xilinx Spartan6 SP605 Dev -# Board - -board := sp605 -family := spartan6 -device := xc6slx45t -speedgrade := -3 -device_package := fgg484 -bitconf_file := ./contrib/sp605/sp605.bitconf -ucf_file := ./contrib/sp605/sp605.ucf -opt_file := ./contrib/default.opt -mcs_datawidth := 16 diff --git a/contrib/xilinx.mk b/contrib/xilinx.mk index e891c1f..628af75 100644 --- a/contrib/xilinx.mk +++ b/contrib/xilinx.mk @@ -50,9 +50,10 @@ # "PRECIOUS" files will not be deleted by make as casually .PRECIOUS: tb/%.isim -.DEFAULT_GOAL: default +# Setup default targets default: bitfiles -all: bitfiles +all: default +.DEFAULT_GOAL: default # This file only works with Xilinx stuff vendor = xilinx diff --git a/contrib/xula2/settings.mk b/contrib/xula2/settings.mk new file mode 100644 index 0000000..a185426 --- /dev/null +++ b/contrib/xula2/settings.mk @@ -0,0 +1,12 @@ +# xula2 device-specific configuration variables +# put targets in targets.mk, not this file + +board := xula2 +family := spartan6 +device := XC6SLX25 +speedgrade := -2 +device_package := ftg256 +bitconf_file := ./contrib/xula2/xula2.bitconf +ucf_file := ./contrib/xula2/xula2.ucf +opt_file := ./contrib/default.opt + diff --git a/contrib/xula2/targets.mk b/contrib/xula2/targets.mk new file mode 100644 index 0000000..ec941be --- /dev/null +++ b/contrib/xula2/targets.mk @@ -0,0 +1,16 @@ +# xula2 device-specific configuration make targets. +# put variables in settings.mk, not this file. + +.PHONY: prog prog_flash + +# This target uploads directly to the FPGA; volatile +prog: build/$(project).bit + # First ensure that xsload.py is installed + @xsload.py --version + @xsload.py --fpga build/$(project).bit + +# This target uploads to the SPI flash on board; non-volatile +prog_flash: build/$(project).bit + # First ensure that xsload.py is installed + @xsload.py --version + @xsload.py --flash build/$(project).bit diff --git a/contrib/xula2/xula2.mk b/contrib/xula2/xula2.mk deleted file mode 100644 index 681fe38..0000000 --- a/contrib/xula2/xula2.mk +++ /dev/null @@ -1,24 +0,0 @@ -# xula2 device-specific configuration variables and make targets - -.PHONY: prog prog_flash - -board := xula2 -family := spartan6 -device := XC6SLX25 -speedgrade := -2 -device_package := ftg256 -bitconf_file := ./contrib/xula2/xula2.bitconf -ucf_file := ./contrib/xula2/xula2.ucf -opt_file := ./contrib/default.opt - -# This target uploads directly to the FPGA; volatile -prog: build/$(project).bit - # First ensure that xsload.py is installed - @xsload.py --version - @xsload.py --fpga build/$(project).bit - -# This target uploads to the SPI flash on board; non-volatile -prog_flash: build/$(project).bit - # First ensure that xsload.py is installed - @xsload.py --version - @xsload.py --flash build/$(project).bit -- cgit v1.2.3