This collapses the make rules for the trig tables into a pattern
rule. Based on a patch by Diego, modified to avoid using fragile
make constructs and allow future addition of fixed-point sin tables.
Signed-off-by: Mans Rullgard <mans@mansr.com>
$(SUBDIR)dct-test$(EXESUF): $(SUBDIR)dctref.o
-$(SUBDIR)cos_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
- $(M)./$< > $@
-
-$(SUBDIR)cos_fixed_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
- $(M)./$< cos fixed > $@
+TRIG_TABLES = cos cos_fixed sin
+TRIG_TABLES := $(TRIG_TABLES:%=$(SUBDIR)%_tables.c)
-$(SUBDIR)sin_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
- $(M)./$< sin > $@
+$(TRIG_TABLES): $(SUBDIR)%_tables.c: $(SUBDIR)costablegen$(HOSTEXESUF)
+ $(M)./$< $* > $@
ifdef CONFIG_SMALL
$(SUBDIR)%_tablegen$(HOSTEXESUF): HOSTCFLAGS += -DCONFIG_SMALL=1
{
int i, j;
int do_sin = argc > 1 && !strcmp(argv[1], "sin");
- int fixed = argc > 2 && !strcmp(argv[2], "fixed");
+ int fixed = argc > 1 && strstr(argv[1], "fixed");
double (*func)(double) = do_sin ? sin : cos;
printf("/* This file was automatically generated. */\n");