#---*- Makefile -*-------------------------------------------------------
#$Author: saulius $
#$Date: 2022-12-05 08:06:47 +0000 (Mon, 05 Dec 2022) $
#$Revision: 10272 $
#$URL: file:///home/saulius/svn-repositories/paskaitos/VU/kompiuteri%C5%B3-architekt%C5%ABra/skaidr%C4%97s/examples/float-nan-comparisons/Makefile $
#------------------------------------------------------------------------

MAKEFILE_DIRS = . makefiles/enabled
MAKEFILE_WCARDS = $(addsuffix /Makelocal*, ${MAKEFILE_DIRS})
MAKECONF_WCARDS = $(addsuffix /Makeconf*, ${MAKEFILE_DIRS})

MAKECONF_FILES = $(filter-out %.example, \
	$(filter-out %~, $(wildcard ${MAKECONF_WCARDS}) \
))

ifneq ("${MAKECONF_FILES}","")
include ${MAKECONF_FILES}
endif

CC ?= cc

#------------------------------------------------------------------------------

CFILES = ${wildcard *.c}
OFILES = ${CFILES:%.c=%.o}
EFILES = ${CFILES:%.c=%}

.PHONY: all static test run opt optimised
.PHONY: clean distclean mostlyclean cleanAll 

all: ${EFILES}

#------------------------------------------------------------------------------

MAKELOCAL_FILES = ${filter-out %~, ${wildcard ${MAKEFILE_WCARDS}}}

ifneq ("${MAKELOCAL_FILES}","")
include ${MAKELOCAL_FILES}
endif

#------------------------------------------------------------------------------

run: ${EFILES}
	set -x; for i in $^; do ./$$i; done

static:
	${MAKE} CFLAGS="-static ${CFLAGS}" CC=${CC}

opt optimised:
	${MAKE} CFLAGS="-O3 ${CFLAGS}" CC=${CC}

%: %.c
	${CC} ${CFLAGS} -o $@ $< -lm

clean:
	rm -f ${OFILES}

distclean mostlyclean cleanAll: clean
	rm -f ${EFILES}
