summaryrefslogtreecommitdiff
path: root/pkg/btrfs/Makefile
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-06-01 09:31:35 -0600
committerLuke Shumaker <lukeshu@lukeshu.com>2022-06-01 09:31:35 -0600
commitb9fa008b4911a534ff49d191539b57d60cc04663 (patch)
treeea4aac66c6b187b9522f95c597ed8f7041cd0545 /pkg/btrfs/Makefile
parent539787e5f70776db02e37f74048f9acec2171b0e (diff)
Add an Item interface
Diffstat (limited to 'pkg/btrfs/Makefile')
-rw-r--r--pkg/btrfs/Makefile8
1 files changed, 4 insertions, 4 deletions
diff --git a/pkg/btrfs/Makefile b/pkg/btrfs/Makefile
index 781eb7c..fc6e9fd 100644
--- a/pkg/btrfs/Makefile
+++ b/pkg/btrfs/Makefile
@@ -3,19 +3,19 @@
.DELETE_ON_ERROR:
btrfsitem/items.txt: btrfsitem $(wildcard btrfsitem/item_*.go) $(MAKEFILE_LIST)
- sed -En 's,^type (\S+) .* // (.*=.*),\1 \2,p' $(filter btrfsitem/item_%.go,$^) | while read -r typ keys; do for key in $$keys; do echo "$$key" "$$typ"; done; done >$@
+ sed -En 's,^type (\S+) .* // (.*=.*),\1 \2,p' $(sort $(filter btrfsitem/item_%.go,$^)) | while read -r typ keys; do for key in $$keys; do echo "$$key" "$$typ"; done; done >$@
files += btrfsitem/items.txt
-btrfsitem/items.go: btrfsitem/items.txt $(MAKEFILE_LIST)
+btrfsitem/items_gen.go: btrfsitem/items.txt $(MAKEFILE_LIST)
{ \
echo 'package $(@D)'; \
echo 'import "lukeshu.com/btrfs-tools/pkg/btrfs/internal"'; \
- echo 'type Type = internal.ItemType'; \
echo 'const ('; \
sed -E 's,(.*)=(.*) (.*),\1_KEY=internal.\1_KEY,' $<; \
echo ')'; \
+ sed -E 's,(.*)=(.*) (.*),\3,' $< | LC_COLLATE=C sort -u | sed 's,.*,func (&) isItem() {},'; \
} | gofmt >$@
-files += btrfsitem/items.go
+files += btrfsitem/items_gen.go
internal/itemtype.go: btrfsitem/items.txt $(MAKEFILE_LIST)
{ \