Sha256: 7ba599bf9bec77091d71f2d3c9744681dbafd6659d8ed8c8a13785b8faa4c9f1

Contents?: true

Size: 1.3 KB

Versions: 213

Compression:

Stored size: 1.3 KB

Contents

# assignments
ASSIGNMENT ?= ""
IGNOREDIRS := "^(\.git|bin|docs|exercises)$$"
ASSIGNMENTS = $(shell find ./exercises -maxdepth 1 -mindepth 1 -type d | awk -F/ '{print $$NF}' | sort | grep -Ev $(IGNOREDIRS))

# output directories
TMPDIR ?= "/tmp"
OUTDIR := $(shell mktemp -d "$(TMPDIR)/$(ASSIGNMENT).XXXXXXXXXX")

# language specific config (tweakable per language)
FILEEXT := "f90"
TESTEXT := "fun"
EXAMPLE := "example.$(FILEEXT)"
TESTNAME := $(shell echo $(ASSIGNMENT) | sed -e "s/-/_/g")
TSTFILE := "$(TESTNAME).$(TESTEXT)"

# compiler flags
export FSFLAG := "-I"
export FC := "gfortran"
export CXX := "g++"
export CC := "gcc"

default:
	gem install funit

help: ## Prints this help
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'

install-test: ## install test dependency: funit
	@gem install funit

test-assignment: ## run single test using ASSIGNMENTS: test-assignment ASSIGNMENT=wordy
	@echo "running tests for: $(ASSIGNMENT)"
	@cat ./exercises/$(ASSIGNMENT)/$(TSTFILE) | sed 's/Xtest/test/' > $(OUTDIR)/$(TSTFILE)
	@cp ./exercises/$(ASSIGNMENT)/$(EXAMPLE) $(OUTDIR)/$(TESTNAME).$(FILEEXT)
	@cd $(OUTDIR) && funit

test: ## run all tests
	@for assignment in $(ASSIGNMENTS); do ASSIGNMENT=$$assignment $(MAKE) -s test-assignment || exit 1; done

Version data entries

213 entries across 213 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/fortran/Makefile
trackler-2.2.1.179 tracks/fortran/Makefile
trackler-2.2.1.178 tracks/fortran/Makefile
trackler-2.2.1.177 tracks/fortran/Makefile
trackler-2.2.1.176 tracks/fortran/Makefile
trackler-2.2.1.175 tracks/fortran/Makefile
trackler-2.2.1.174 tracks/fortran/Makefile
trackler-2.2.1.173 tracks/fortran/Makefile
trackler-2.2.1.172 tracks/fortran/Makefile
trackler-2.2.1.171 tracks/fortran/Makefile
trackler-2.2.1.170 tracks/fortran/Makefile
trackler-2.2.1.169 tracks/fortran/Makefile
trackler-2.2.1.167 tracks/fortran/Makefile
trackler-2.2.1.166 tracks/fortran/Makefile
trackler-2.2.1.165 tracks/fortran/Makefile
trackler-2.2.1.164 tracks/fortran/Makefile
trackler-2.2.1.163 tracks/fortran/Makefile
trackler-2.2.1.162 tracks/fortran/Makefile
trackler-2.2.1.161 tracks/fortran/Makefile
trackler-2.2.1.160 tracks/fortran/Makefile