@@ -67,21 +67,21 @@ OPT = -Ofast
67
67
else
68
68
OPT = -O3
69
69
endif
70
- CFLAGS = -I. $(OPT ) -std=c11 -fPIC
71
- CXXFLAGS = -I. -I./common $(OPT ) -std=c++11 -fPIC
70
+ CPPFLAGS = -I. -Icommon
71
+ CFLAGS = $(CPPFLAGS ) $(OPT ) -std=c11 -fPIC
72
+ CXXFLAGS = $(CPPFLAGS ) $(OPT ) -std=c++11 -fPIC
72
73
LDFLAGS =
73
74
74
75
ifdef LLAMA_DEBUG
75
76
CFLAGS += -O0 -g
76
77
CXXFLAGS += -O0 -g
77
78
LDFLAGS += -g
78
79
else
79
- CFLAGS += -DNDEBUG
80
- CXXFLAGS += -DNDEBUG
80
+ CPPFLAGS += -DNDEBUG
81
81
endif
82
82
83
83
ifdef LLAMA_SERVER_VERBOSE
84
- CXXFLAGS += -DSERVER_VERBOSE=$(LLAMA_SERVER_VERBOSE)
84
+ CPPFLAGS += -DSERVER_VERBOSE=$(LLAMA_SERVER_VERBOSE)
85
85
endif
86
86
87
87
ifdef LLAMA_DISABLE_LOGS
@@ -153,8 +153,7 @@ ifdef LLAMA_GPROF
153
153
CXXFLAGS += -pg
154
154
endif
155
155
ifdef LLAMA_PERF
156
- CFLAGS += -DGGML_PERF
157
- CXXFLAGS += -DGGML_PERF
156
+ CPPFLAGS += -DGGML_PERF
158
157
endif
159
158
160
159
# Architecture specific
@@ -221,43 +220,42 @@ else
221
220
endif
222
221
223
222
ifndef LLAMA_NO_K_QUANTS
224
- CFLAGS += -DGGML_USE_K_QUANTS
225
- CXXFLAGS += -DGGML_USE_K_QUANTS
223
+ CPPFLAGS += -DGGML_USE_K_QUANTS
226
224
OBJS += k_quants.o
227
225
ifdef LLAMA_QKK_64
228
- CFLAGS += -DGGML_QKK_64
229
- CXXFLAGS += -DGGML_QKK_64
226
+ CPPFLAGS += -DGGML_QKK_64
230
227
endif
231
228
endif
232
229
233
230
ifndef LLAMA_NO_ACCELERATE
234
231
# Mac M1 - include Accelerate framework.
235
232
# `-framework Accelerate` works on Mac Intel as well, with negliable performance boost (as of the predict time).
236
233
ifeq ($(UNAME_S),Darwin)
237
- CFLAGS += -DGGML_USE_ACCELERATE
238
- LDFLAGS += -framework Accelerate
234
+ CPPFLAGS += -DGGML_USE_ACCELERATE
235
+ LDFLAGS += -framework Accelerate
239
236
endif
240
237
endif # LLAMA_NO_ACCELERATE
241
238
242
239
ifdef LLAMA_MPI
243
- CFLAGS += -DGGML_USE_MPI -Wno-cast-qual
244
- CXXFLAGS += -DGGML_USE_MPI -Wno-cast-qual
240
+ CPPFLAGS += -DGGML_USE_MPI
241
+ CFLAGS += -Wno-cast-qual
242
+ CXXFLAGS += -Wno-cast-qual
245
243
OBJS += ggml-mpi.o
246
244
endif # LLAMA_MPI
247
245
248
246
ifdef LLAMA_OPENBLAS
249
- CFLAGS += -DGGML_USE_OPENBLAS $(shell pkg-config --cflags openblas)
250
- LDFLAGS += $(shell pkg-config --libs openblas)
247
+ CPPFLAGS += -DGGML_USE_OPENBLAS $(shell pkg-config --cflags-only-I openblas)
248
+ CFLAGS += $(shell pkg-config --cflags-only-other openblas)
249
+ LDFLAGS += $(shell pkg-config --libs openblas)
251
250
endif # LLAMA_OPENBLAS
252
251
253
252
ifdef LLAMA_BLIS
254
- CFLAGS += -DGGML_USE_OPENBLAS -I/usr/local/include/blis -I/usr/include/blis
255
- LDFLAGS += -lblis -L/usr/local/lib
253
+ CPPFLAGS += -DGGML_USE_OPENBLAS -I/usr/local/include/blis -I/usr/include/blis
254
+ LDFLAGS += -lblis -L/usr/local/lib
256
255
endif # LLAMA_BLIS
257
256
258
257
ifdef LLAMA_CUBLAS
259
- CFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/x86_64-linux/include
260
- CXXFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/x86_64-linux/include
258
+ CPPFLAGS += -DGGML_USE_CUBLAS -I/usr/local/cuda/include -I/opt/cuda/include -I$(CUDA_PATH)/targets/x86_64-linux/include
261
259
LDFLAGS += -lcublas -lculibos -lcudart -lcublasLt -lpthread -ldl -lrt -L/usr/local/cuda/lib64 -L/opt/cuda/lib64 -L$(CUDA_PATH)/targets/x86_64-linux/lib
262
260
OBJS += ggml-cuda.o
263
261
NVCCFLAGS = --forward-unknown-to-host-compiler -use_fast_math
@@ -309,8 +307,9 @@ endif # LLAMA_CUBLAS
309
307
310
308
ifdef LLAMA_CLBLAST
311
309
312
- CFLAGS += -DGGML_USE_CLBLAST $(shell pkg-config --cflags clblast OpenCL)
313
- CXXFLAGS += -DGGML_USE_CLBLAST $(shell pkg-config --cflags clblast OpenCL)
310
+ CPPFLAGS += -DGGML_USE_CLBLAST $(shell pkg-config --cflags-only-I clblast OpenCL)
311
+ CFLAGS += $(shell pkg-config --cflags-only-other clblast OpenCL)
312
+ CXXFLAGS += $(shell pkg-config --cflags-only-other clblast OpenCL)
314
313
315
314
# Mac provides OpenCL as a framework
316
315
ifeq ($(UNAME_S),Darwin)
@@ -331,8 +330,7 @@ ifdef LLAMA_HIPBLAS
331
330
LLAMA_CUDA_DMMV_X ?= 32
332
331
LLAMA_CUDA_MMV_Y ?= 1
333
332
LLAMA_CUDA_KQUANTS_ITER ?= 2
334
- CFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUBLAS
335
- CXXFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUBLAS
333
+ CPPFLAGS += -DGGML_USE_HIPBLAS -DGGML_USE_CUBLAS
336
334
LDFLAGS += -L$(ROCM_PATH)/lib -Wl,-rpath=$(ROCM_PATH)/lib
337
335
LDFLAGS += -lhipblas -lamdhip64 -lrocblas
338
336
HIPFLAGS += $(addprefix --offload-arch=,$(GPU_TARGETS))
@@ -349,8 +347,7 @@ ggml-cuda.o: ggml-cuda.cu ggml-cuda.h
349
347
endif # LLAMA_HIPBLAS
350
348
351
349
ifdef LLAMA_METAL
352
- CFLAGS += -DGGML_USE_METAL # -DGGML_METAL_NDEBUG
353
- CXXFLAGS += -DGGML_USE_METAL
350
+ CPPFLAGS += -DGGML_USE_METAL # -DGGML_METAL_NDEBUG
354
351
LDFLAGS += -framework Foundation -framework Metal -framework MetalKit
355
352
OBJS += ggml-metal.o
356
353
endif # LLAMA_METAL
0 commit comments