Simplify some shootout Makefiles
[nofib.git] / shootout / reverse-complement / Makefile
index 19f976f..8fd7a9d 100644 (file)
@@ -22,59 +22,56 @@ HC_OPTS += -O2 -XBangPatterns -funfolding-use-threshold=32 -XMagicHash \
 fasta-c : ../fasta/fasta-c.c
        $(CC) -std=gnu99 -O3 -fomit-frame-pointer $< -o $@
 
-revcomp-input250000.txt : fasta-c
+reverse-complement.faststdin : fasta-c
        ./fasta-c $(FAST_OPTS) | tr -d '\r' > $@
 
-revcomp-input2500000.txt : fasta-c
+reverse-complement.stdin : fasta-c
        ./fasta-c $(NORM_OPTS) | tr -d '\r' > $@
 
-revcomp-input25000000.txt : fasta-c
+reverse-complement.slowstdin : fasta-c
        ./fasta-c $(SLOW_OPTS) | tr -d '\r' > $@
 
+# Since we only decide here what the INPUT_FILE is, it's required to first run
+# `make boot` and only than `make` (otherwise `make` doesn't "see" the file and
+# doesn't call `runstdtest` correctly)
 ifeq "$(mode)" "slow"
- INPUT_FILE = revcomp-input25000000.txt
+ INPUT_FILE = reverse-complement.slowstdin
 else
  ifeq "$(mode)" "fast"
-  INPUT_FILE = revcomp-input250000.txt
+  INPUT_FILE = reverse-complement.faststdin
  else
-  INPUT_FILE = revcomp-input2500000.txt
+  INPUT_FILE = reverse-complement.stdin
  endif
 endif
 
-SRC_RUNTEST_OPTS += -i $(INPUT_FILE)
-
-all boot :: $(INPUT_FILE)
-
 #------------------------------------------------------------------
 # Create output to validate against
 
 revcomp-c : revcomp-c.o
        gcc $< -o $@ -pthread
 
-reverse-complement.faststdout : revcomp-c
+reverse-complement.faststdout : revcomp-c $(INPUT_FILE)
        ./revcomp-c < $(INPUT_FILE) > $@
 
-reverse-complement.stdout : revcomp-c
+reverse-complement.stdout : revcomp-c $(INPUT_FILE)
        ./revcomp-c < $(INPUT_FILE) > $@
 
-reverse-complement.slowstdout : revcomp-c
+reverse-complement.slowstdout : revcomp-c $(INPUT_FILE)
        ./revcomp-c < $(INPUT_FILE) > $@
 
-# Since the stdout files are created during the run the runstdtest
-# script doesn't correctly pick them up, so we have to specify them
-# explicitly here.
+# Since we only decide here what the OUTPUT_FILE is, it's required to first run
+# `make boot` and only than `make` (otherwise `make` doesn't "see" the file and
+# doesn't call `runstdtest` correctly)
 ifeq "$(mode)" "slow"
STDOUT_FILE = reverse-complement.slowstdout
OUTPUT_FILE = reverse-complement.slowstdout
 else
  ifeq "$(mode)" "fast"
-  STDOUT_FILE = reverse-complement.faststdout
+  OUTPUT_FILE = reverse-complement.faststdout
  else
-  STDOUT_FILE = reverse-complement.stdout
+  OUTPUT_FILE = reverse-complement.stdout
  endif
 endif
 
-SRC_RUNTEST_OPTS += -o1 $(STDOUT_FILE) 
-
-all boot :: $(STDOUT_FILE)
+boot :: $(INPUT_FILE) $(OUTPUT_FILE)
 
 include $(TOP)/mk/target.mk