Merge branch 'master' of https://github.com/YosysHQ/yosys into abc_scratchpad_script
[yosys.git] / passes / pmgen / Makefile.inc
1 %_pm.h: passes/pmgen/pmgen.py %.pmg
2 $(P) mkdir -p passes/pmgen && $(PYTHON_EXECUTABLE) $< -o $@ -p $(subst _pm.h,,$(notdir $@)) $(filter-out $<,$^)
3
4 # --------------------------------------
5
6 OBJS += passes/pmgen/test_pmgen.o
7 passes/pmgen/test_pmgen.o: passes/pmgen/test_pmgen_pm.h passes/pmgen/ice40_dsp_pm.h passes/pmgen/peepopt_pm.h passes/pmgen/xilinx_srl_pm.h
8 $(eval $(call add_extra_objs,passes/pmgen/test_pmgen_pm.h))
9
10 # --------------------------------------
11
12 OBJS += passes/pmgen/ice40_dsp.o
13 passes/pmgen/ice40_dsp.o: passes/pmgen/ice40_dsp_pm.h
14 $(eval $(call add_extra_objs,passes/pmgen/ice40_dsp_pm.h))
15
16 # --------------------------------------
17
18 OBJS += passes/pmgen/ice40_wrapcarry.o
19 passes/pmgen/ice40_wrapcarry.o: passes/pmgen/ice40_wrapcarry_pm.h
20 $(eval $(call add_extra_objs,passes/pmgen/ice40_wrapcarry_pm.h))
21
22 # --------------------------------------
23
24 OBJS += passes/pmgen/xilinx_dsp.o
25 passes/pmgen/xilinx_dsp.o: passes/pmgen/xilinx_dsp_pm.h passes/pmgen/xilinx_dsp48a_pm.h passes/pmgen/xilinx_dsp_CREG_pm.h passes/pmgen/xilinx_dsp_cascade_pm.h
26 $(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_pm.h))
27 $(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp48a_pm.h))
28 $(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_CREG_pm.h))
29 $(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_cascade_pm.h))
30
31 # --------------------------------------
32
33 OBJS += passes/pmgen/peepopt.o
34 passes/pmgen/peepopt.o: passes/pmgen/peepopt_pm.h
35 $(eval $(call add_extra_objs,passes/pmgen/peepopt_pm.h))
36
37 PEEPOPT_PATTERN = passes/pmgen/peepopt_shiftmul.pmg
38 PEEPOPT_PATTERN += passes/pmgen/peepopt_muldiv.pmg
39 PEEPOPT_PATTERN += passes/pmgen/peepopt_dffmux.pmg
40
41 passes/pmgen/peepopt_pm.h: passes/pmgen/pmgen.py $(PEEPOPT_PATTERN)
42 $(P) mkdir -p passes/pmgen && $(PYTHON_EXECUTABLE) $< -o $@ -p peepopt $(filter-out $<,$^)
43
44 # --------------------------------------
45
46 OBJS += passes/pmgen/xilinx_srl.o
47 passes/pmgen/xilinx_srl.o: passes/pmgen/xilinx_srl_pm.h
48 $(eval $(call add_extra_objs,passes/pmgen/xilinx_srl_pm.h))