+ New

utensil

Public
2bcebf1d23f0c9ff19f812c41457a6b2863c2ced
diff --git a/Makefile b/Makefile
index 6d015f1..19df449 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-CFLAGS ?= -std=c99 -Wall -Wextra -g
+CFLAGS ?= -std=c99 -Wall -Wextra -g -O2
 LDFLAGS ?= -lm
 
 METAL := $(shell test -d /System/Library/Frameworks/Metal.framework && echo 1 || echo 0)
@@ -21,11 +21,26 @@ mnist/%-ubyte:
 
 mnist-data: $(addprefix mnist/,$(MNIST_FILES))
 
+CIFAR_URL := https://github.com/xbash/cifar-dataset-mirror/raw/refs/heads/main/cifar-10-binary.tar.gz
+
+cifar/data_batch_1.bin:
+	mkdir -p cifar
+	curl -sL $(CIFAR_URL) -o cifar/cifar-10-binary.tar.gz
+	tar xzf cifar/cifar-10-binary.tar.gz -C cifar --strip-components=1
+	rm -f cifar/cifar-10-binary.tar.gz
+
+cifar-data: cifar/data_batch_1.bin
+
 EXAMPLES := $(patsubst %.c,%,$(wildcard examples/*.c))
+MNIST_EXAMPLES := examples/mnist_mlp examples/mnist_cnn
+CIFAR_EXAMPLES := examples/resnet8_cifar10 examples/mobilenetv1_cifar10
 
 examples: $(EXAMPLES)
 
-examples/%: examples/%.c utensil.h examples/mnist_loader.h mnist-data
+examples/%: examples/%.c utensil.h
 	$(CC) $(CFLAGS) -I. $(LDFLAGS) $< -o $@
 
-.PHONY: test examples mnist-data
+$(MNIST_EXAMPLES): examples/mnist_loader.h mnist-data
+$(CIFAR_EXAMPLES): examples/cifar10_loader.h cifar-data
+
+.PHONY: test examples mnist-data cifar-data