diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7708e24 --- /dev/null +++ b/Makefile @@ -0,0 +1,60 @@ +.PHONY: all +all: setup + $(MAKE) -f scripts/makefile + +# this kicks all unrecognised targets to the client script. +# note that trying to compile individual files, e.g. +# +# make kernel.elf +# +# will not work, you would need +# +# make -f scripts/makefile kernel.elf +# +# instead +.DEFAULT: setup + $(MAKE) -f scripts/makefile $< + +.PHONY: analyze +analyze: setup + CC='gcc -fanalyzer' SKIP_ANALYZER='-fno-analyzer' $(MAKE) CROSS_COMPILE= + +.PHONY: setup +setup: + @echo -n > deps.mk + @./scripts/gen-deps -p FWD -c COMPILE_FWD -b fwd "$(FWD_SOURCES)" + +CLEANUP := build deps.mk fwd +CLEANUP_CMD := +FWD_SOURCES := + +include src/source.mk + +.PHONY: format +format: + find src include -iname '*.[ch]' |\ + xargs uncrustify -c uncrustify.conf --no-backup -F - + +.PHONY: license +license: + find src include -iname '*.[ch]' |\ + xargs ./scripts/license + +.PHONY: docs +docs: + find src include -iname '*.[ch]' -not -path */gen/* |\ + xargs ./scripts/warn-undocumented + doxygen docs/doxygen.conf + +RM = rm + +.PHONY: clean +clean: + $(RM) -rf $(CLEANUP) + +.PHONY: clean_docs +clean_docs: + $(RM) -rf docs/output + +.PHONY: clean_all +clean_all: clean clean_docs |