48 lines
1 KiB
Makefile
48 lines
1 KiB
Makefile
|
|
# Makefile for GNU make, building all Solo L3 triggers.
|
||
|
|
|
||
|
|
MAKEFLAGS += --no-print-directory
|
||
|
|
|
||
|
|
L3C = ../l3.py
|
||
|
|
L3DIS = ../l3dis.py
|
||
|
|
|
||
|
|
MODEL =
|
||
|
|
VARIANT =
|
||
|
|
|
||
|
|
ifneq ($(MODEL),)
|
||
|
|
DMODEL = -DM_$(shell echo $(MODEL) | tr '[:lower:]' '[:upper:]')
|
||
|
|
endif
|
||
|
|
|
||
|
|
ifneq ($(VARIANT),)
|
||
|
|
DVARIANT= -DV_$(shell echo $(VARIANT) | tr '[:lower:]' '[:upper:]')
|
||
|
|
endif
|
||
|
|
|
||
|
|
L3FLAGS =
|
||
|
|
L3FLAGSS = $(DMODEL) $(DVARIANT) $(L3FLAGS)
|
||
|
|
|
||
|
|
-include *.d
|
||
|
|
|
||
|
|
%.l3c: %.l3 $(L3C)
|
||
|
|
$(L3C) $(L3FLAGSS) $($*_FLAGS) -g hex -o $@ -2 $<
|
||
|
|
%.l3v: %.l3 $(L3C)
|
||
|
|
$(L3C) $(L3FLAGSS) $($*_FLAGS) -g verilog -vv -o $@ -2 -l $*.l3d $<
|
||
|
|
%_l3.py: %.l3 $(L3C)
|
||
|
|
$(L3C) $(L3FLAGSS) $($*_FLAGS) -g python -vv -o $@ -2 -l $*.l3d $<
|
||
|
|
|
||
|
|
|
||
|
|
%.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:
|
||
|
|
$(MAKE) -C ../hetept/l3 gold
|
||
|
|
$(MAKE) -C ../step/l3 gold
|
||
|
|
$(MAKE) -C ../ce4/l3 gold
|