aboutsummaryrefslogtreecommitdiffstats
path: root/passes/pmgen/Makefile.inc
diff options
context:
space:
mode:
Diffstat (limited to 'passes/pmgen/Makefile.inc')
-rw-r--r--passes/pmgen/Makefile.inc36
1 files changed, 23 insertions, 13 deletions
diff --git a/passes/pmgen/Makefile.inc b/passes/pmgen/Makefile.inc
index e33866670..685024ec2 100644
--- a/passes/pmgen/Makefile.inc
+++ b/passes/pmgen/Makefile.inc
@@ -1,25 +1,35 @@
-OBJS += passes/pmgen/ice40_dsp.o
-OBJS += passes/pmgen/xilinx_dsp.o
-OBJS += passes/pmgen/peepopt.o
+%_pm.h: passes/pmgen/pmgen.py %.pmg
+ $(P) mkdir -p passes/pmgen && python3 $< -o $@ -p $(subst _pm.h,,$(notdir $@)) $(filter-out $<,$^)
+
+# --------------------------------------
+
+OBJS += passes/pmgen/test_pmgen.o
+passes/pmgen/test_pmgen.o: passes/pmgen/test_pmgen_pm.h passes/pmgen/ice40_dsp_pm.h passes/pmgen/peepopt_pm.h
+$(eval $(call add_extra_objs,passes/pmgen/test_pmgen_pm.h))
# --------------------------------------
-passes/pmgen/%.o: passes/pmgen/%_pm.h
+OBJS += passes/pmgen/ice40_dsp.o
passes/pmgen/ice40_dsp.o: passes/pmgen/ice40_dsp_pm.h
-passes/pmgen/xilinx_dsp.o: passes/pmgen/xilinx_dsp_pm.h
-EXTRA_OBJS += passes/pmgen/ice40_dsp_pm.h
-EXTRA_OBJS += passes/pmgen/xilinx_dsp_pm.h
-.SECONDARY: passes/pmgen/ice40_dsp_pm.h
-.SECONDARY: passes/pmgen/xilinx_dsp_pm.h
+$(eval $(call add_extra_objs,passes/pmgen/ice40_dsp_pm.h))
-passes/pmgen/%_pm.h: passes/pmgen/pmgen.py passes/pmgen/%.pmg
- $(P) mkdir -p passes/pmgen && python3 $< -o $@ -p $* $(filter-out $<,$^)
+# --------------------------------------
+
+OBJS += passes/pmgen/ice40_wrapcarry.o
+passes/pmgen/ice40_wrapcarry.o: passes/pmgen/ice40_wrapcarry_pm.h
+$(eval $(call add_extra_objs,passes/pmgen/ice40_wrapcarry_pm.h))
+
+# --------------------------------------
+
+OBJS += passes/pmgen/xilinx_dsp.o
+passes/pmgen/xilinx_dsp.o: passes/pmgen/xilinx_dsp_pm.h
+$(eval $(call add_extra_objs,passes/pmgen/xilinx_dsp_pm.h))
# --------------------------------------
+OBJS += passes/pmgen/peepopt.o
passes/pmgen/peepopt.o: passes/pmgen/peepopt_pm.h
-EXTRA_OBJS += passes/pmgen/peepopt_pm.h
-.SECONDARY: passes/pmgen/peepopt_pm.h
+$(eval $(call add_extra_objs,passes/pmgen/peepopt_pm.h))
PEEPOPT_PATTERN = passes/pmgen/peepopt_shiftmul.pmg
PEEPOPT_PATTERN += passes/pmgen/peepopt_muldiv.pmg