diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-09-27 19:00:18 -0600 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-09-27 19:00:18 -0600 |
commit | d54ddec236bf9bdb8c032cd5fbdb0aa46ffebe86 (patch) | |
tree | b2a4563347f4b91d276f174303e0a7b81c525b34 /Makefile | |
parent | b1fc106b5294d162415ff715c6dece11945efdb2 (diff) |
use GNU Make for `generate`
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 59 |
1 files changed, 41 insertions, 18 deletions
@@ -1,26 +1,52 @@ -CFLAGS += -fno-split-stack -CFLAGS += -Wall -Wextra -Werror -CFLAGS += -g -O0 -CPPFLAGS += -I. -LDFLAGS += -static - linux.git = $(HOME)/src/github.com/torvalds/linux +all: build +.PHONY: all + +.NOTINTERMEDIATE: +.DELETE_ON_ERROR: + +################################################################################ + +generate/files = + +generate/files += 3rd-party/linux-errno.txt 3rd-party/linux-errno.txt: %: %.gen - $< $(linux.git) + ./$< $(linux.git) + +generate/files += lib9p/include/lib9p/linux-errno.h +lib9p/include/lib9p/linux-errno.h: %: %.gen 3rd-party/linux-errno.txt + ./$^ >$@ -9p/linux-errno.h: %: %.gen 3rd-party/linux-errno.txt - $^ >$@ -9p/defs-%.c 9p/defs-%.h: 9p/defs.gen 9p/%.txt - $^ +generate/files += lib9p/types.c lib9p/include/lib9p/_types.h +lib9p/types.c lib9p/include/lib9p/_types.h &: lib9p/types.gen lib9p/9P2000.txt lib9p/9P2000.u.txt lib9p/9P2000.e.txt + ./$^ -lib9p = 9p/defs.o 9p/defs-9P2000.o 9p/srv.o -srv9p: srv9p.o coroutine.o netio_posix.o $(lib9p) +generate/files += libusb/include/libusb/tusb_helpers.h 3rd-party/MS-LCID.pdf 3rd-party/MS-LCID.txt +libusb/include/libusb/tusb_helpers.h 3rd-party/MS-LCID.pdf 3rd-party/MS-LCID.txt &: libusb/include/libusb/tusb_helpers.h.gen + ./$^ -sources_py = 9p/defs.gen -sources_py += 9p/linux-errno.h.gen +################################################################################ +build: build/Makefile $(generate/files) +.PHONY: build + +build/Makefile: + mkdir -p build && cd build && cmake .. + +generate: $(generate/files) +.PHONY: generate + +generate-clean: + rm -f -- $(generate/files) +.PHONY: generate-clean + +sources_sh = 3rd-party/linux-errno.txt.gen +sources_sh += libusb/include/libusb/tusb_helpers.h.gen +sources_py = lib9p/types.gen +sources_py += lib9p/include/lib9p/linux-errno.h.gen lint: + shellcheck $(sources_sh) mypy --strict --scripts-are-modules $(sources_py) black --check $(sources_py) isort --check $(sources_py) @@ -28,6 +54,3 @@ format: black $(sources_py) isort $(sources_py) .PHONY: lint format - -.NOTINTERMEDIATE: -.DELETE_ON_ERROR: |