repo/mk and other Makefiles follow a consistent style described bellow.
Use Makefile
, although we write only GNU Makefiles, thus we could use GNUMakefile
.
ifeq (,$(wildcard support-firecloud/Makefile))
INSTALL_SUPPORT_FIRECLOUD := $(shell git submodule update --init --recursive support-firecloud)
ifneq (,$(filter undefine,$(.FEATURES)))
undefine INSTALL_SUPPORT_FIRECLOUD
endif
endif
include support-firecloud/repo/mk/...
Include support-firecloud/repo/mk/generic.common.mk
,
or at the very minimum, include support-firecloud/repo/mk/core.common.mk
.
This will mean that
- a bunch of sane defaults will be set and utility functions will become available.
- a bunch of exe/os/git variables will become available.
- a bunch of sane target patterns will become available.
make
=make all
=make deps build check
make clean
,make nuke
make deps
make build
make check
make test
make help
- etc.
TODO
TODO