git-svn-id: svn+ssh://asterix/home/subversion/stephan/solo/eda/python@6675 bc5caf13-1734-44f8-af43-603852e9ee25
86 lines
2.8 KiB
Makefile
86 lines
2.8 KiB
Makefile
# Makefile for GNU make, building all Solo L3 triggers.
|
|
|
|
HETEPT_SOURCES = ept het_pen het_stopping
|
|
HETEPT_MODELS = em1 em2 fm1 fm2 pqm
|
|
HETEPT_VARIANTS =
|
|
|
|
MAKEFLAGS += --no-print-directory
|
|
|
|
L3C = ../../l3.py
|
|
L3DIS = ../../l3dis.py
|
|
|
|
MODEL =
|
|
VARIANT =
|
|
|
|
ifneq ($(MODEL),)
|
|
DMODEL = -DM_$(shell echo $(MODEL) | tr '[:lower:]' '[:upper:]')
|
|
endif
|
|
|
|
ifeq ($(VARIANT),)
|
|
MODVAR = $(MODEL)
|
|
else
|
|
MODVAR = $(shell echo $(MODEL) $(VARIANT) | tr ' ' _)
|
|
DVARIANT= -DV_$(shell echo $(VARIANT) | tr '[:lower:]' '[:upper:]')
|
|
endif
|
|
|
|
L3FLAGS =
|
|
L3FLAGSS = $(DMODEL) $(DVARIANT) $(L3FLAGS)
|
|
|
|
all: hetept_all basics
|
|
basics: $(HETEPT_SOURCES:%=%_l3.py)
|
|
l3c_all: hetept_l3c $(HETEPT_SOURCES:%=%.l3c)
|
|
l3v_all: hetept_l3v $(HETEPT_SOURCES:%=%.l3v)
|
|
|
|
-include *.d
|
|
|
|
%.l3c: %.l3 $(L3C)
|
|
$(L3C) $(L3FLAGS) $($*_FLAGS) -g hex -o $@ -2 $<
|
|
%.l3v: %.l3 $(L3C)
|
|
$(L3C) $(L3FLAGS) $($*_FLAGS) -g verilog -vv -o $@ -2 -l $*.l3d $<
|
|
%_l3.py: %.l3 $(L3C)
|
|
$(L3C) $(L3FLAGS) $($*_FLAGS) -g python -vv -o $@ -2 -l $*.l3d $<
|
|
|
|
findmodel = $(firstword $(filter $(HETEPT_MODELS),$(shell echo $* | tr _ ' ')))
|
|
findvariant = $(firstword $(filter-out $(HETEPT_MODELS),$(shell echo $* | tr _ ' ')))
|
|
|
|
ifeq ($(MODEL)$(VARIANT),)
|
|
ept_%_l3.py ept_%.l3c ept_%.l3v: ept.l3 $(L3C)
|
|
$(MAKE) MODEL=$(findmodel) VARIANT=$(findvariant) $@
|
|
het_pen_%_l3.py het_pen_%.l3c het_pen_%.l3v: het_pen.l3 $(L3C)
|
|
$(MAKE) MODEL=$(findmodel) VARIANT=$(findvariant) $@
|
|
het_stopping_%_l3.py het_stopping_%.l3c het_stopping_%.l3v: het_stopping.l3 $(L3C)
|
|
$(MAKE) MODEL=$(findmodel) VARIANT=$(findvariant) $@
|
|
else
|
|
%_$(MODVAR).l3c: %.l3 $(L3C)
|
|
$(L3C) $(L3FLAGSS) $($*_FLAGS) $($*_$(MODEL)_FLAGS) -g hex -o $@ -2 $<
|
|
%_$(MODVAR).l3v: %.l3 $(L3C)
|
|
$(L3C) $(L3FLAGSS) $($*_FLAGS) $($*_$(MODEL)_FLAGS) -g verilog -vv -o $@ -2 -l $*_$(MODVAR).l3d $<
|
|
%_$(MODVAR)_l3.py: %.l3 $(L3C)
|
|
$(L3C) $(L3FLAGSS) $($*_FLAGS) $($*_$(MODEL)_FLAGS) -g python -vv -o $@ -2 -l $*_$(MODVAR).l3d $<
|
|
endif
|
|
|
|
HETEPT_FILES1 = $(foreach M,$(HETEPT_MODELS),$(HETEPT_SOURCES:%=%_$M))
|
|
HETEPT_FILES = $(HETEPT_FILES1) $(foreach V,$(HETEPT_VARIANTS),$(HETEPT_FILES1:%=%_$V))
|
|
HETEPT_ALL = $(patsubst %,%_l3.py, $(HETEPT_FILES))
|
|
hetept_all: $(HETEPT_ALL)
|
|
HETEPT_L3C = $(patsubst %,%.l3c, $(HETEPT_FILES))
|
|
hetept_l3c: $(HETEPT_L3C)
|
|
HETEPT_L3V = $(patsubst %,%.l3v, $(HETEPT_FILES))
|
|
hetept_l3v: $(HETEPT_L3V)
|
|
$(HETEPT_ALL) $(HETEPT_L3C) $(HETEPT_L3V) ept.gold het_pen.gold het_stopping.gold: $(patsubst %, %.l3, $(HETEPT_SOURCES)) hetept_config.l3 ept_calib.l3 het_calib.l3
|
|
|
|
%.l3dis: %.l3c $(L3DIS)
|
|
$(L3DIS) -F 'R%(addr)-3d= %(cond)-3s %(mnem)-5s %(args)-25s # 0x%(instr)08x' $< > $@
|
|
|
|
%.l3cc: %.l3dis
|
|
$(L3C) -g hex -o $@ $<
|
|
-diff -u $*.l3c $*.l3cc
|
|
|
|
clean:
|
|
rm -f *.l3[cdv] *.l3dis *.l3cc *_l3.py *_l3.pyc .*.forward .*.forward.new *.d
|
|
|
|
%.gold: $(L3C) %.l3
|
|
$(L3C) -2vv -g dis $(word 2, $^) >$@ 2>&1
|
|
|
|
gold: ept.gold het_pen.gold het_stopping.gold
|
|
|