Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
82bb6c3
Rename README.md to README-llama.cpp.md
BradHutchings Mar 23, 2025
2afcfb7
Create README.md
BradHutchings Mar 23, 2025
7251936
Create BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
959620a
Update README.md
BradHutchings Mar 23, 2025
767b2c8
Update BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
70125ae
Rename Makefile to Makefile-llama-cpp-original
BradHutchings Mar 23, 2025
b9bb553
Create Makefile
BradHutchings Mar 23, 2025
a9ed79e
Update llama-context.cpp
BradHutchings Mar 23, 2025
bcc2423
Update server.cpp
BradHutchings Mar 23, 2025
176a28f
Update README.md
BradHutchings Mar 23, 2025
4bd019c
Update BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
5d49e2c
Update BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
01b4703
Update BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
bb91f16
Update BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
5f72868
Update README.md
BradHutchings Mar 23, 2025
8484057
Update server.cpp
BradHutchings Mar 23, 2025
1ed1ad3
Update BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
c45370e
Update README.md
BradHutchings Mar 23, 2025
140b932
Update README.md
BradHutchings Mar 23, 2025
32005a0
Create DEPLOY.md
BradHutchings Mar 23, 2025
4cb5f1a
Update server.cpp
BradHutchings Mar 23, 2025
83ff3c5
Update README.md
BradHutchings Mar 23, 2025
2f273df
Update README.md
BradHutchings Mar 23, 2025
24227ea
Update BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
3725f3f
Update and rename DEPLOY.md to PACKAGING-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
84b1f25
Update BUILD-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
bdaa0d0
Update PACKAGING-INSTRUCTIONS.md
BradHutchings Mar 23, 2025
341c9f5
Update and rename PACKAGING-INSTRUCTIONS.md to docs/PACKAGING-INSTRUC…
BradHutchings Mar 23, 2025
e5b057a
Rename PACKAGING-INSTRUCTIONS.md to packaging-llama-server-one.md
BradHutchings Mar 23, 2025
dfe5b32
Update and rename BUILD-INSTRUCTIONS.md to docs/Building-llama-server…
BradHutchings Mar 23, 2025
502e1c7
Update and rename Building-llama-server-one.md to Building-ls1.md
BradHutchings Mar 23, 2025
7ca5543
Rename packaging-llama-server-one.md to Packaging-ls1.md
BradHutchings Mar 23, 2025
12234ad
Update README.md
BradHutchings Mar 23, 2025
145f8b1
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
9e05f84
Update Building-ls1.md
BradHutchings Mar 23, 2025
326c1e9
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
c197ed8
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
ee56776
Update server.cpp
BradHutchings Mar 23, 2025
1f8b91d
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
43e4749
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
44ed969
Update Building-ls1.md
BradHutchings Mar 23, 2025
c584c36
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
8609370
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
9336825
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
b2ffdfa
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
7402b37
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
c58ea05
Create Deploying-ls1.md
BradHutchings Mar 23, 2025
b7d30b7
Update Packaging-ls1.md
BradHutchings Mar 23, 2025
1abf315
Update Deploying-ls1.md
BradHutchings Mar 23, 2025
5450232
Update Deploying-ls1.md
BradHutchings Mar 23, 2025
6d821f0
Update Deploying-ls1.md
BradHutchings Mar 23, 2025
83755df
Update Deploying-ls1.md
BradHutchings Mar 23, 2025
85f0633
Update README.md
BradHutchings Mar 23, 2025
f4fa3d9
Merge pull request #1 from ggml-org/master
BradHutchings Mar 23, 2025
857b1a5
Update README.md
BradHutchings Mar 23, 2025
8eb955e
Update README.md
BradHutchings Mar 23, 2025
9075082
Update README.md
BradHutchings Mar 23, 2025
096d741
Update README.md
BradHutchings Mar 23, 2025
dd774d9
Update Building-ls1.md
BradHutchings Mar 23, 2025
4064337
Update Building-ls1.md
BradHutchings Mar 23, 2025
83c11b7
Update Building-ls1.md
BradHutchings Mar 23, 2025
8a3ccd4
Update README.md
BradHutchings Mar 23, 2025
a7c55cb
Update README.md
BradHutchings Mar 23, 2025
1bed30a
Update README.md
BradHutchings Mar 24, 2025
34af8d5
Update README.md
BradHutchings Mar 24, 2025
74369f6
Merge pull request #3 from ggml-org/master
BradHutchings Mar 24, 2025
df8c598
Update Building-ls1.md
BradHutchings Mar 24, 2025
249546f
Update Packaging-ls1.md
BradHutchings Mar 24, 2025
cd0b7ae
Update Packaging-ls1.md
BradHutchings Mar 24, 2025
4232c1a
Update server.cpp
BradHutchings Mar 24, 2025
0e0b7b3
Update Deploying-ls1.md
BradHutchings Mar 24, 2025
6797fd5
Update README.md
BradHutchings Mar 24, 2025
118b658
Update Deploying-ls1.md
BradHutchings Mar 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 109 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@ ifndef LLAMA_MAKEFILE
$(error The Makefile build is deprecated. Use the CMake build instead. For more details, see https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md)
endif

# Modified by Brad Hutchings to build llama.cpp targets correctly and build with cosmocc.

# Define the default target now so that it is always the first target
BUILD_TARGETS = \
libllava.a \
llama-server \
llama-batched \
llama-batched-bench \
llama-bench \
Expand Down Expand Up @@ -36,7 +39,6 @@ BUILD_TARGETS = \
llama-quantize-stats \
llama-retrieval \
llama-save-load-state \
llama-server \
llama-simple \
llama-simple-chat \
llama-run \
Expand Down Expand Up @@ -258,7 +260,7 @@ endif
#

# keep standard at C11 and C++17
MK_CPPFLAGS = -Iggml/include -Iggml/src -Iinclude -Isrc -Icommon -DGGML_USE_CPU
MK_CPPFLAGS = -Iggml/include -Iggml/src -Iinclude -Isrc -Icommon -I. -DGGML_USE_CPU
MK_CFLAGS = -std=c11 -fPIC
MK_CXXFLAGS = -std=c++17 -fPIC
MK_NVCCFLAGS = -std=c++17
Expand Down Expand Up @@ -370,37 +372,78 @@ ifndef GGML_NO_CPU_AARCH64
MK_CPPFLAGS += -DGGML_USE_CPU_AARCH64
endif

# warnings
WARN_FLAGS = \
-Wall \
-Wextra \
-Wpedantic \
-Wcast-qual \
-Wno-unused-function

MK_CFLAGS += \
$(WARN_FLAGS) \
-Wshadow \
-Wstrict-prototypes \
-Wpointer-arith \
-Wmissing-prototypes \
-Werror=implicit-int \
-Werror=implicit-function-declaration

MK_CXXFLAGS += \
$(WARN_FLAGS) \
-Wmissing-declarations \
-Wmissing-noreturn
ifeq ($(UNAME_S),cosmocc)
$(info Setting MK_CFLAGS and MK_CXXFLAGS flags for cosmocc.)

WARN_FLAGS_ORIG = \
-Wall \
-Wextra \
-Wpedantic \
-Wcast-qual \
-Wno-unused-function

WARN_FLAGS = \
-Wcast-qual \
-Wno-unused-function

MK_CFLAGS += \
$(WARN_FLAGS) \
-Wshadow \
-Wstrict-prototypes \
-Wpointer-arith \
-Wmissing-prototypes \
-Werror=implicit-function-declaration \
-Wno-implicit-int \
-DCOSMOCC=1

MK_CXXFLAGS += \
$(WARN_FLAGS) \
-Wmissing-declarations \
-Wmissing-noreturn \
-Wno-literal-suffix \
-DCOSMOCC=1


else
$(info Using default MK_CFLAGS and MK_CXXFLAGS flags.)

# warnings
WARN_FLAGS = \
-Wall \
-Wextra \
-Wpedantic \
-Wcast-qual \
-Wno-unused-function

MK_CFLAGS += \
$(WARN_FLAGS) \
-Wshadow \
-Wstrict-prototypes \
-Wpointer-arith \
-Wmissing-prototypes \
-Werror=implicit-int \
-Werror=implicit-function-declaration

MK_CXXFLAGS += \
$(WARN_FLAGS) \
-Wmissing-declarations \
-Wmissing-noreturn

endif



ifeq ($(LLAMA_FATAL_WARNINGS),1)
MK_CFLAGS += -Werror
MK_CXXFLAGS += -Werror
endif

# this version of Apple ld64 is buggy
ifneq ($(UNAME_S),cosmocc)
ifneq '' '$(findstring dyld-1015.7,$(shell $(CC) $(LDFLAGS) -Wl,-v 2>&1))'
MK_CPPFLAGS += -DHAVE_BUGGY_APPLE_LINKER
endif
endif

# OS specific
# TODO: support Windows
Expand Down Expand Up @@ -460,6 +503,7 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686 amd64))
#MK_CXXFLAGS += -mssse3
endif

ifneq ($(UNAME_S),cosmocc)
ifneq '' '$(findstring mingw,$(shell $(CC) -dumpmachine))'
# The stack is only 16-byte aligned on Windows, so don't let gcc emit aligned moves.
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412
Expand All @@ -470,6 +514,7 @@ ifneq '' '$(findstring mingw,$(shell $(CC) -dumpmachine))'
# Target Windows 8 for PrefetchVirtualMemory
MK_CPPFLAGS += -D_WIN32_WINNT=0x602
endif
endif

ifneq ($(filter aarch64%,$(UNAME_M)),)
# Apple M1, M2, etc.
Expand Down Expand Up @@ -978,16 +1023,33 @@ OBJ_GGML = \
$(DIR_GGML)/src/ggml-cpu/ggml-cpu-hbm.o \
$(DIR_GGML)/src/ggml-cpu/ggml-cpu-quants.o \
$(DIR_GGML)/src/ggml-cpu/ggml-cpu-traits.o \
$(DIR_GGML)/src/gguf.o \
$(OBJ_GGML_EXT)

OBJ_LLAMA = \
$(DIR_LLAMA)/llama.o \
$(DIR_LLAMA)/llama-vocab.o \
$(DIR_LLAMA)/llama-grammar.o \
$(DIR_LLAMA)/llama-sampling.o \
$(DIR_LLAMA)/llama-adapter.o \
$(DIR_LLAMA)/llama-arch.o \
$(DIR_LLAMA)/llama-batch.o \
$(DIR_LLAMA)/llama-chat.o \
$(DIR_LLAMA)/llama-context.o \
$(DIR_LLAMA)/llama-graph.o \
$(DIR_LLAMA)/llama-hparams.o \
$(DIR_LLAMA)/llama-impl.o \
$(DIR_LLAMA)/llama-io.o \
$(DIR_LLAMA)/llama-kv-cache.o \
$(DIR_LLAMA)/llama-mmap.o \
$(DIR_LLAMA)/llama-model.o \
$(DIR_LLAMA)/llama-model-loader.o \
$(DIR_LLAMA)/llama-quant.o \
$(DIR_LLAMA)/unicode.o \
$(DIR_LLAMA)/unicode-data.o

# $(DIR_LLAMA)/llama-context.o \

OBJ_COMMON = \
$(DIR_COMMON)/common.o \
$(DIR_COMMON)/arg.o \
Expand Down Expand Up @@ -1049,8 +1111,10 @@ $(info I CFLAGS: $(CFLAGS))
$(info I CXXFLAGS: $(CXXFLAGS))
$(info I NVCCFLAGS: $(NVCCFLAGS))
$(info I LDFLAGS: $(LDFLAGS))
ifneq ($(UNAME_S),cosmocc)
$(info I CC: $(shell $(CC) --version | head -n 1))
$(info I CXX: $(shell $(CXX) --version | head -n 1))
endif
ifdef GGML_CUDA
$(info I NVCC: $(shell $(NVCC) --version | tail -n 1))
CUDA_VERSION := $(shell $(NVCC) --version | grep -oP 'release (\K[0-9]+\.[0-9])')
Expand Down Expand Up @@ -1196,7 +1260,14 @@ llama-infill: examples/infill/infill.cpp \
$(CXX) $(CXXFLAGS) -c $< -o $(call GET_OBJ_FILE, $<)
$(CXX) $(CXXFLAGS) $(filter-out %.h $<,$^) $(call GET_OBJ_FILE, $<) -o $@ $(LDFLAGS)

llama-run: examples/run/run.cpp \
llama-run: \
examples/run/run.cpp \
examples/run/linenoise.cpp/linenoise.cpp \
$(OBJ_ALL)
$(CXX) $(CXXFLAGS) -c $< -o $(call GET_OBJ_FILE, $<)
$(CXX) $(CXXFLAGS) $(filter-out %.h $<,$^) $(call GET_OBJ_FILE, $<) -o $@ $(LDFLAGS)

llama-run-orig: examples/run/run.cpp \
$(OBJ_ALL)
$(CXX) $(CXXFLAGS) -c $< -o $(call GET_OBJ_FILE, $<)
$(CXX) $(CXXFLAGS) $(filter-out %.h $<,$^) $(call GET_OBJ_FILE, $<) -o $@ $(LDFLAGS)
Expand Down Expand Up @@ -1370,6 +1441,20 @@ rpc-server: examples/rpc/rpc-server.cpp \
endif # GGML_RPC

llama-server: \
examples/server/server.cpp \
examples/server/httplib.h \
common/chat.h \
common/minja/chat-template.hpp \
common/json.hpp \
common//minja/minja.hpp \
$(OBJ_ALL)
cmake -DINPUT=examples/server/public/index.html.gz -DOUTPUT=examples/server/index.html.gz.hpp -P scripts/xxd.cmake
cmake -DINPUT=examples/server/public_legacy/index.html -DOUTPUT=examples/server/index.html.hpp -P scripts/xxd.cmake
cmake -DINPUT=examples/server/public_legacy/loading.html -DOUTPUT=examples/server/loading.html.hpp -P scripts/xxd.cmake
$(CXX) $(CXXFLAGS) -c $< -o $(call GET_OBJ_FILE, $<)
$(CXX) $(CXXFLAGS) $(filter-out %.h %.hpp $<,$^) -Iexamples/server $(call GET_OBJ_FILE, $<) -o $@ $(LDFLAGS) $(LWINSOCK2)

llama-server-orig: \
examples/server/server.cpp \
examples/server/utils.hpp \
examples/server/httplib.h \
Expand Down
Loading