build.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 yplatform/Makefile))
INSTALL_YP := $(shell git submodule update --init --recursive yplatform)
ifneq (,$(filter undefine,$(.FEATURES)))
undefine INSTALL_YP
endif
endif
include yplatform/build.mk/...
Include yplatform/build.mk/generic.common.mk
,
or at the very minimum, include yplatform/build.mk/core.common.mk
.
This will mean that
- a bunch of sane defaults will be set and utility functions will become available.
- See mk
- a bunch of exe/os/git variables will become available.
- See mk/exe.inc.mk
- See mk/os.inc.mk
- See mk/git.inc.mk
- 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