Python & multicharacter test IDs

- Support for python programs
- Multicharacter test IDs are now fully working
master 1.1
Szymon Karpiński 6 years ago
parent 9efa9130f3
commit 9b179ac97d
  1. 10
      makefile.main
  2. 14
      makefile.prog

@ -44,13 +44,13 @@ MD5SUMS = in/.md5sums
INGEN = $(shell if [ `find prog -name "$(ID)ingen.*" | wc -l` -gt 0 ] ; then echo 1 ; else echo 0 ; fi) INGEN = $(shell if [ `find prog -name "$(ID)ingen.*" | wc -l` -gt 0 ] ; then echo 1 ; else echo 0 ; fi)
INWER = $(shell if [ `find prog -name "$(ID)inwer.*" | wc -l` -gt 0 ] ; then echo 1 ; else echo 0 ; fi) INWER = $(shell if [ `find prog -name "$(ID)inwer.*" | wc -l` -gt 0 ] ; then echo 1 ; else echo 0 ; fi)
CHECKER = $(shell if [ `find prog -name "$(ID)chk.*" | wc -l` -gt 0 ] ; then echo 1 ; else echo 0 ; fi) CHECKER = $(shell if [ `find prog -name "$(ID)chk.*" | wc -l` -gt 0 ] ; then echo 1 ; else echo 0 ; fi)
PROGS_OPT= $(shell find prog -regex "prog/$(ID)[0-9]*\.\(c\|cpp\|pas\|ml\)" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`) PROGS_OPT= $(shell find prog -regex "prog/$(ID)[0-9]*\.\(c\|cpp\|pas\|ml\|py\)" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`)
PROGS_SLW= $(shell find prog -regex "prog/$(ID)s[0-9]*\.\(c\|cpp\|pas\|ml\)" | sort -n -k 1.`echo "prog/$(ID)s"| wc -c`) PROGS_SLW= $(shell find prog -regex "prog/$(ID)s[0-9]*\.\(c\|cpp\|pas\|ml\|py\)" | sort -n -k 1.`echo "prog/$(ID)s"| wc -c`)
PROGS_BAD= $(shell find prog -regex "prog/$(ID)b[0-9]*\.\(c\|cpp\|pas\|ml\)" | sort -n -k 1.`echo "prog/$(ID)b"| wc -c`) PROGS_BAD= $(shell find prog -regex "prog/$(ID)b[0-9]*\.\(c\|cpp\|pas\|ml\|py\)" | sort -n -k 1.`echo "prog/$(ID)b"| wc -c`)
PROGS_JAVA= $(shell find prog -regex "prog/$(ID)[0-9]*\.java" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`) PROGS_JAVA= $(shell find prog -regex "prog/$(ID)[0-9]*\.java" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`)
PROGS_JAVA_SLW= $(shell find prog -regex "prog/$(ID)s[0-9]*\.java" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`) PROGS_JAVA_SLW= $(shell find prog -regex "prog/$(ID)s[0-9]*\.java" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`)
TESTS += $(shell find in -regex "in/$(ID)[0-9]*[a-z]?ocen.in" | sort -n -k 1.`echo "in/$(ID)"| wc -c` ) TESTS += $(shell find in -regex "in/$(ID)[0-9]*[a-z]*ocen.in" | sort -n -k 1.`echo "in/$(ID)"| wc -c` )
TESTS += $(shell find in -regex "in/$(ID)[0-9]*[a-z]?.in" | sort -n -k 1.`echo "in/$(ID)"| wc -c` ) TESTS += $(shell find in -regex "in/$(ID)[0-9]*[a-z]*.in" | sort -n -k 1.`echo "in/$(ID)"| wc -c` )
B_PROGS_WER= $(shell find prog -regex "prog/$(ID)[0-9]*wer[0-9]*\.\(c\|cpp\|pas\|ml\|java\)" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`) B_PROGS_WER= $(shell find prog -regex "prog/$(ID)[0-9]*wer[0-9]*\.\(c\|cpp\|pas\|ml\|java\)" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`)
B_PROGS_SLW= $(shell find prog -regex "prog/$(ID)[0-9]*s\.\(c\|cpp\|pas\|ml\|java\)" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`) B_PROGS_SLW= $(shell find prog -regex "prog/$(ID)[0-9]*s\.\(c\|cpp\|pas\|ml\|java\)" | sort -n -k 1.`echo "prog/$(ID)"| wc -c`)

@ -16,14 +16,16 @@ PRG_CPP = $(wildcard *.cpp)
PRG_JAVA = $(wildcard *.java) PRG_JAVA = $(wildcard *.java)
PRG_PAS = $(wildcard *.pas) PRG_PAS = $(wildcard *.pas)
PRG_ML = $(wildcard *.ml) PRG_ML = $(wildcard *.ml)
PRG = $(PRG_C) $(PRG_CPP) $(PRG_PAS) $(PRG_ML) PRG_PY = $(wildcard *.py)
PRG = $(PRG_C) $(PRG_CPP) $(PRG_PAS) $(PRG_ML) $(PRG_PY)
EXE_C = $(patsubst %.c,%.e,$(PRG_C)) EXE_C = $(patsubst %.c,%.e,$(PRG_C))
EXE_CPP = $(patsubst %.cpp,%.e,$(PRG_CPP)) EXE_CPP = $(patsubst %.cpp,%.e,$(PRG_CPP))
EXE_JAVA = $(patsubst %.java,%.e,$(PRG_JAVA)) EXE_JAVA = $(patsubst %.java,%.e,$(PRG_JAVA))
EXE_PAS = $(patsubst %.pas,%.e,$(PRG_PAS)) EXE_PAS = $(patsubst %.pas,%.e,$(PRG_PAS))
EXE_ML = $(patsubst %.ml,%.e,$(PRG_ML)) EXE_ML = $(patsubst %.ml,%.e,$(PRG_ML))
EXE = $(EXE_C) $(EXE_CPP) $(EXE_JAVA) $(EXE_PAS) $(EXE_ML) EXE_PY = $(patsubst %.py,%.e,$(PRG_PY))
EXE = $(EXE_C) $(EXE_CPP) $(EXE_JAVA) $(EXE_PAS) $(EXE_ML) $(EXE_PY)
all: $(EXE) ${ID}.valgrind all: $(EXE) ${ID}.valgrind
@ -49,6 +51,11 @@ all: $(EXE) ${ID}.valgrind
rm -f *.cmi rm -f *.cmi
rm -f *.cmo rm -f *.cmo
%.e: %.py
echo "#!/usr/bin/env python3" > $*.e; \
cat $^ >> $*.e; \
chmod 755 $*.e
%.valgrind: %.c %.valgrind: %.c
gcc -O2 ${CFLAGS} -g -lm $^ -o $*.valgrind ${C_LDFLAGS} gcc -O2 ${CFLAGS} -g -lm $^ -o $*.valgrind ${C_LDFLAGS}
@ -58,6 +65,9 @@ all: $(EXE) ${ID}.valgrind
%.valgrind: %.pas %.e %.valgrind: %.pas %.e
cp $*.e $*.valgrind cp $*.e $*.valgrind
%.valgrind: %.py %.e
cp $*.e $*.valgrind
clean: clean:
rm -f *.o rm -f *.o
rm -f *.e rm -f *.e

Loading…
Cancel
Save