|
|
@@ -181,41 +181,56 @@ llama.o: llama.cpp ggml.h ggml-cuda.h llama.h llama-util.h
|
|
|
common.o: examples/common.cpp examples/common.h
|
|
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
|
|
|
|
|
+libllama.so: llama.o ggml.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) -shared -fPIC -o $@ $^ $(LDFLAGS)
|
|
|
+
|
|
|
clean:
|
|
|
- rm -vf *.o main quantize quantize-stats perplexity embedding benchmark-matmult
|
|
|
+ rm -vf *.o main quantize quantize-stats perplexity embedding benchmark-matmult save-load-state build-info.h
|
|
|
|
|
|
-main: examples/main/main.cpp ggml.o llama.o common.o $(OBJS)
|
|
|
- $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
+#
|
|
|
+# Examples
|
|
|
+#
|
|
|
+
|
|
|
+main: examples/main/main.cpp build-info.h ggml.o llama.o common.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) $(filter-out %.h,$^) -o $@ $(LDFLAGS)
|
|
|
@echo
|
|
|
@echo '==== Run ./main -h for help. ===='
|
|
|
@echo
|
|
|
|
|
|
-quantize: examples/quantize/quantize.cpp ggml.o llama.o $(OBJS)
|
|
|
- $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
+quantize: examples/quantize/quantize.cpp build-info.h ggml.o llama.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) $(filter-out %.h,$^) -o $@ $(LDFLAGS)
|
|
|
|
|
|
-quantize-stats: examples/quantize-stats/quantize-stats.cpp ggml.o llama.o $(OBJS)
|
|
|
- $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
+quantize-stats: examples/quantize-stats/quantize-stats.cpp build-info.h ggml.o llama.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) $(filter-out %.h,$^) -o $@ $(LDFLAGS)
|
|
|
|
|
|
-perplexity: examples/perplexity/perplexity.cpp ggml.o llama.o common.o $(OBJS)
|
|
|
- $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
+perplexity: examples/perplexity/perplexity.cpp build-info.h ggml.o llama.o common.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) $(filter-out %.h,$^) -o $@ $(LDFLAGS)
|
|
|
|
|
|
-embedding: examples/embedding/embedding.cpp ggml.o llama.o common.o $(OBJS)
|
|
|
- $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
+embedding: examples/embedding/embedding.cpp build-info.h ggml.o llama.o common.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) $(filter-out %.h,$^) -o $@ $(LDFLAGS)
|
|
|
|
|
|
-vdot: pocs/vdot/vdot.cpp ggml.o $(OBJS)
|
|
|
- $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
+save-load-state: examples/save-load-state/save-load-state.cpp build-info.h ggml.o llama.o common.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) $(filter-out %.h,$^) -o $@ $(LDFLAGS)
|
|
|
|
|
|
-libllama.so: llama.o ggml.o $(OBJS)
|
|
|
- $(CXX) $(CXXFLAGS) -shared -fPIC -o $@ $^ $(LDFLAGS)
|
|
|
+build-info.h: $(wildcard .git/index) scripts/build-info.sh
|
|
|
+ @scripts/build-info.sh > $@.tmp
|
|
|
+ @if ! cmp -s $@.tmp $@; then \
|
|
|
+ mv $@.tmp $@; \
|
|
|
+ else \
|
|
|
+ rm $@.tmp; \
|
|
|
+ fi
|
|
|
|
|
|
#
|
|
|
# Tests
|
|
|
#
|
|
|
|
|
|
-benchmark-matmult: examples/benchmark/benchmark-matmult.cpp ggml.o $(OBJS)
|
|
|
- $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
+benchmark-matmult: examples/benchmark/benchmark-matmult.cpp build-info.h ggml.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) $(filter-out %.h,$^) -o $@ $(LDFLAGS)
|
|
|
./$@
|
|
|
|
|
|
+vdot: pocs/vdot/vdot.cpp ggml.o $(OBJS)
|
|
|
+ $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS)
|
|
|
+
|
|
|
.PHONY: tests
|
|
|
tests:
|
|
|
bash ./tests/run-tests.sh
|