@@ -523,11 +523,11 @@ ifndef GGML_NO_ACCELERATE
523523 # Mac OS - include Accelerate framework.
524524 # `-framework Accelerate` works both with Apple Silicon and Mac Intel
525525 ifeq ($(UNAME_S),Darwin)
526- MK_CPPFLAGS += -DGGML_USE_ACCELERATE -DGGML_USE_BLAS
526+ MK_CPPFLAGS += -DGGML_USE_ACCELERATE -DGGML_USE_BLAS -DGGML_BLAS_USE_ACCELERATE
527527 MK_CPPFLAGS += -DACCELERATE_NEW_LAPACK
528528 MK_CPPFLAGS += -DACCELERATE_LAPACK_ILP64
529529 MK_LDFLAGS += -framework Accelerate
530- OBJ_GGML += ggml/src/ggml-blas.o
530+ OBJ_GGML += ggml/src/ggml-blas/ggml-blas .o
531531 endif
532532endif # GGML_NO_ACCELERATE
533533
@@ -552,36 +552,36 @@ ifdef GGML_OPENBLAS
552552 MK_CPPFLAGS += -DGGML_USE_BLAS $(shell pkg-config --cflags-only-I openblas)
553553 MK_CFLAGS += $(shell pkg-config --cflags-only-other openblas)
554554 MK_LDFLAGS += $(shell pkg-config --libs openblas)
555- OBJ_GGML += ggml/src/ggml-blas.o
555+ OBJ_GGML += ggml/src/ggml-blas/ggml-blas .o
556556endif # GGML_OPENBLAS
557557
558558ifdef GGML_OPENBLAS64
559559 MK_CPPFLAGS += -DGGML_USE_BLAS $(shell pkg-config --cflags-only-I openblas64)
560560 MK_CFLAGS += $(shell pkg-config --cflags-only-other openblas64)
561561 MK_LDFLAGS += $(shell pkg-config --libs openblas64)
562- OBJ_GGML += ggml/ src/ggml-blas.o
562+ OBJ_GGML += src/ggml-blas /ggml-blas.o
563563endif # GGML_OPENBLAS64
564564
565565ifdef GGML_BLIS
566566 MK_CPPFLAGS += -DGGML_USE_BLAS -DGGML_BLAS_USE_BLIS -I/usr/local/include/blis -I/usr/include/blis
567567 MK_LDFLAGS += -lblis -L/usr/local/lib
568- OBJ_GGML += ggml/ src/ggml-blas.o
568+ OBJ_GGML += src/ggml-blas /ggml-blas.o
569569endif # GGML_BLIS
570570
571571ifdef GGML_NVPL
572572 MK_CPPFLAGS += -DGGML_USE_BLAS -DGGML_BLAS_USE_NVPL -DNVPL_ILP64 -I/usr/local/include/nvpl_blas -I/usr/include/nvpl_blas
573573 MK_LDFLAGS += -L/usr/local/lib -lnvpl_blas_core -lnvpl_blas_ilp64_gomp
574- OBJ_GGML += ggml/ src/ggml-blas.o
574+ OBJ_GGML += src/ggml-blas /ggml-blas.o
575575endif # GGML_NVPL
576576
577577ifndef GGML_NO_LLAMAFILE
578578 MK_CPPFLAGS += -DGGML_USE_LLAMAFILE
579- OBJ_GGML += ggml/src/llamafile/sgemm.o
579+ OBJ_GGML += ggml/src/ggml-cpu/ llamafile/sgemm.o
580580endif
581581
582582ifndef GGML_NO_AMX
583583 MK_CPPFLAGS += -DGGML_USE_AMX
584- OBJ_GGML += ggml/src/ggml-amx.o ggml/src/ggml-amx/mmq.o
584+ OBJ_GGML += ggml/src/ggml-amx/ggml-amx .o ggml/src/ggml-amx/mmq.o
585585endif
586586
587587ifdef GGML_RPC
@@ -623,7 +623,7 @@ ifdef GGML_CUDA
623623 MK_NVCCFLAGS += -use_fast_math
624624 endif # GGML_MUSA
625625
626- OBJ_GGML += ggml/src/ggml-cuda.o
626+ OBJ_GGML += ggml/src/ggml-cuda/ggml-cuda .o
627627 OBJ_GGML += $(patsubst %.cu,%.o,$(wildcard ggml/src/ggml-cuda/*.cu))
628628 OBJ_GGML += $(OBJ_CUDA_TMPL)
629629
@@ -742,8 +742,8 @@ ggml/src/ggml-cuda/%.o: \
742742 ggml/src/ggml-cuda/common.cuh
743743 $(NVCC_COMPILE )
744744
745- ggml/src/ggml-cuda.o : \
746- ggml/src/ggml-cuda.cu \
745+ ggml/src/ggml-cuda/ggml-cuda .o : \
746+ ggml/src/ggml-cuda/ggml-cuda .cu \
747747 ggml/include/ggml-cuda.h \
748748 ggml/include/ggml.h \
749749 ggml/include/ggml-backend.h \
@@ -852,12 +852,12 @@ ifdef GGML_CUDA_NO_PEER_COPY
852852 HIPFLAGS += -DGGML_CUDA_NO_PEER_COPY
853853endif # GGML_CUDA_NO_PEER_COPY
854854
855- OBJ_GGML += ggml/src/ggml-cuda.o
855+ OBJ_GGML += ggml/src/ggml-cuda/ggml-cuda .o
856856 OBJ_GGML += $(patsubst %.cu,%.o,$(wildcard ggml/src/ggml-cuda/*.cu))
857857 OBJ_GGML += $(OBJ_CUDA_TMPL)
858858
859- ggml/src/ggml-cuda.o : \
860- ggml/src/ggml-cuda.cu \
859+ ggml/src/ggml-cuda/ggml-cuda .o : \
860+ ggml/src/ggml-cuda/ggml-cuda .cu \
861861 ggml/include/ggml-cuda.h \
862862 ggml/include/ggml.h \
863863 ggml/include/ggml-backend.h \
@@ -877,7 +877,7 @@ endif # GGML_HIPBLAS
877877ifdef GGML_METAL
878878 MK_CPPFLAGS += -DGGML_USE_METAL
879879 MK_LDFLAGS += -framework Foundation -framework Metal -framework MetalKit
880- OBJ_GGML += ggml/src/ggml-metal.o
880+ OBJ_GGML += ggml/src/ggml-metal/ggml-metal .o
881881
882882ifdef GGML_METAL_USE_BF16
883883 MK_CPPFLAGS += -DGGML_METAL_USE_BF16
@@ -892,18 +892,18 @@ endif
892892endif # GGML_METAL
893893
894894ifdef GGML_METAL
895- ggml/src/ggml-metal.o : \
896- ggml/src/ggml-metal.m \
895+ ggml/src/ggml-metal/ggml-metal .o : \
896+ ggml/src/ggml-metal/ggml-metal .m \
897897 ggml/include/ggml-metal.h \
898898 ggml/include/ggml.h
899899 $(CC ) $(CFLAGS ) -c $< -o $@
900900
901901ifdef GGML_METAL_EMBED_LIBRARY
902902ggml/src/ggml-metal-embed.o : \
903- ggml/src/ggml-metal.metal \
903+ ggml/src/ggml-metal/ggml-metal .metal \
904904 ggml/src/ggml-common.h
905905 @echo " Embedding Metal library"
906- @sed -e ' /#include "ggml-common.h"/r ggml/src/ggml-common.h' -e ' /#include "ggml-common.h"/d' < ggml/src/ggml-metal.metal > ggml/src/ggml-metal-embed.metal
906+ @sed -e ' /#include "ggml-common.h"/r ggml/src/ggml-common.h' -e ' /#include "ggml-common.h"/d' < ggml/src/ggml-metal/ggml-metal .metal > ggml/src/ggml-metal /ggml-metal-embed.metal
907907 $(eval TEMP_ASSEMBLY=$(shell mktemp -d) )
908908 @echo " .section __DATA, __ggml_metallib" > $(TEMP_ASSEMBLY ) /ggml-metal-embed.s
909909 @echo " .globl _ggml_metallib_start" >> $(TEMP_ASSEMBLY ) /ggml-metal-embed.s
@@ -919,11 +919,16 @@ endif # GGML_METAL
919919
920920OBJ_GGML += \
921921 ggml/src/ggml.o \
922- ggml/src/ggml-cpu .o \
922+ ggml/src/ggml-aarch64 .o \
923923 ggml/src/ggml-alloc.o \
924924 ggml/src/ggml-backend.o \
925+ ggml/src/ggml-backend-reg.o \
925926 ggml/src/ggml-quants.o \
926- ggml/src/ggml-aarch64.o
927+ ggml/src/ggml-threading.o \
928+ ggml/src/ggml-cpu/ggml-cpu.o \
929+ ggml/src/ggml-cpu/ggml-cpu-cpp.o \
930+ ggml/src/ggml-cpu/ggml-cpu-aarch64.o \
931+ ggml/src/ggml-cpu/ggml-cpu-quants.o
927932
928933OBJ_LLAMA = \
929934 src/llama.o \
@@ -1051,12 +1056,23 @@ ggml/src/ggml.o: \
10511056 ggml/include/ggml.h
10521057 $(CC ) $(CFLAGS ) -c $< -o $@
10531058
1054- ggml/src/ggml-cpu.o : \
1055- ggml/src/ggml-cpu.c \
1059+ ggml/src/ggml-threading.o : \
1060+ ggml/src/ggml-threading.cpp \
1061+ ggml/include/ggml.h
1062+ $(CXX ) $(XXCFLAGS ) -c $< -o $@
1063+
1064+ ggml/src/ggml-cpu/ggml-cpu.o : \
1065+ ggml/src/ggml-cpu/ggml-cpu.c \
10561066 ggml/include/ggml.h \
10571067 ggml/src/ggml-common.h
10581068 $(CC ) $(CFLAGS ) -c $< -o $@
10591069
1070+ ggml/src/ggml-cpu/ggml-cpu-cpp.o : \
1071+ ggml/src/ggml-cpu/ggml-cpu.cpp \
1072+ ggml/include/ggml.h \
1073+ ggml/src/ggml-common.h
1074+ $(CXX ) $(CXXFLAGS ) -c $< -o $@
1075+
10601076ggml/src/ggml-alloc.o : \
10611077 ggml/src/ggml-alloc.c \
10621078 ggml/include/ggml.h \
@@ -1084,22 +1100,22 @@ ggml/src/ggml-aarch64.o: \
10841100 ggml/src/ggml-common.h
10851101 $(CC ) $(CFLAGS ) -c $< -o $@
10861102
1087- ggml/src/ggml-blas.o : \
1088- ggml/src/ggml-blas.cpp \
1103+ ggml/src/ggml-blas/ggml-blas .o : \
1104+ ggml/src/ggml-blas/ggml-blas .cpp \
10891105 ggml/include/ggml-blas.h
10901106 $(CXX ) $(CXXFLAGS ) -c $< -o $@
10911107
10921108ifndef GGML_NO_LLAMAFILE
1093- ggml/src/llamafile/sgemm.o : \
1094- ggml/src/llamafile/sgemm.cpp \
1095- ggml/src/llamafile/sgemm.h \
1109+ ggml/src/ggml-cpu/ llamafile/sgemm.o : \
1110+ ggml/src/ggml-cpu/ llamafile/sgemm.cpp \
1111+ ggml/src/ggml-cpu/ llamafile/sgemm.h \
10961112 ggml/include/ggml.h
1097- $(CXX ) $(CXXFLAGS ) -c $< -o $@
1113+ $(CXX ) $(CXXFLAGS ) -c $< -o $@ -I ggml/src -I ggml/src/ggml-cpu
10981114endif # GGML_NO_LLAMAFILE
10991115
11001116ifndef GGML_NO_AMX
1101- ggml/src/ggml-amx.o : \
1102- ggml/src/ggml-amx.cpp \
1117+ ggml/src/ggml-amx/ggml-amx .o : \
1118+ ggml/src/ggml-amx/ggml-amx .cpp \
11031119 ggml/include/ggml-amx.h
11041120 $(CXX ) $(CXXFLAGS ) -c $< -o $@
11051121
@@ -1250,10 +1266,11 @@ clean:
12501266 rm -rvf ggml/* .a
12511267 rm -rvf ggml/* .dll
12521268 rm -rvf ggml/* .so
1253- rm -vrf ggml/src/* .o
1254- rm -rvf ggml/src/llamafile/* .o
1269+ rm -rvf ggml/src/* .o
1270+ rm -rvf ggml/src/ggml-cpu/* .o
1271+ rm -rvf ggml/src/ggml-cpu/llamafile/* .o
12551272 rm -rvf common/build-info.cpp
1256- rm -vrf ggml/src/ggml-metal-embed.metal
1273+ rm -vrf ggml/src/ggml-metal/ggml-metal -embed.metal
12571274 rm -vrf ggml/src/ggml-cuda/* .o
12581275 rm -vrf ggml/src/ggml-cuda/template-instances/* .o
12591276 rm -vrf ggml/src/ggml-amx/* .o
0 commit comments