Skip to content

Commit fb032a3

Browse files
committed
Add stripping of debug symbols for platform-specific builds in Makefile
1 parent 7961b65 commit fb032a3

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

Makefile

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,15 @@ ifeq ($(PLATFORM),windows)
5454
LDFLAGS += -shared
5555
# Create .def file for Windows
5656
DEF_FILE := $(BUILD_DIR)/ai.def
57+
STRIP = strip --strip-unneeded $@
5758
else ifeq ($(PLATFORM),macos)
5859
TARGET := $(DIST_DIR)/ai.dylib
5960
LLAMA_LIBS += $(BUILD_LLAMA)/ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA)/ggml/src/ggml-blas/libggml-blas.a
6061
LDFLAGS += -arch x86_64 -arch arm64 -L./$(BUILD_LLAMA)/ggml/src/ggml-metal -lggml-metal -L./$(BUILD_LLAMA)/ggml/src/ggml-blas -lggml-blas -framework Metal -framework Foundation -framework CoreFoundation -framework QuartzCore -framework Accelerate -framework CoreML -dynamiclib -undefined dynamic_lookup
6162
CFLAGS += -arch x86_64 -arch arm64
6263
LLAMA_OPTIONS += -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
6364
WHISPER_OPTIONS += -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DWHISPER_COREML=ON
65+
STRIP = strip -x -S $@
6466
else ifeq ($(PLATFORM),android)
6567
# Set ARCH to find Android NDK's Clang compiler, the user should set the ARCH
6668
ifeq ($(filter %,$(ARCH)),)
@@ -85,6 +87,7 @@ else ifeq ($(PLATFORM),android)
8587
LDFLAGS += -static-libstdc++ -shared
8688
LLAMA_OPTIONS += -DCMAKE_TOOLCHAIN_FILE=$(ANDROID_NDK)/build/cmake/android.toolchain.cmake -DANDROID_ABI=$(if $(filter aarch64,$(ARCH)),arm64-v8a,$(ARCH)) -DANDROID_PLATFORM=android-26 -DCMAKE_C_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DCMAKE_CXX_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
8789
WHISPER_OPTIONS += -DCMAKE_TOOLCHAIN_FILE=$(ANDROID_NDK)/build/cmake/android.toolchain.cmake -DANDROID_ABI=$(if $(filter aarch64,$(ARCH)),arm64-v8a,$(ARCH)) -DANDROID_PLATFORM=android-26 -DCMAKE_C_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DCMAKE_CXX_FLAGS="-march=$(if $(filter aarch64,$(ARCH)),armv8.7a,x86-64)" -DGGML_OPENMP=OFF -DGGML_LLAMAFILE=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
90+
STRIP = $(BIN)/llvm-strip --strip-unneeded $@
8891
else ifeq ($(PLATFORM),ios)
8992
TARGET := $(DIST_DIR)/ai.dylib
9093
SDK := -isysroot $(shell xcrun --sdk iphoneos --show-sdk-path) -miphoneos-version-min=14.0
@@ -93,6 +96,7 @@ else ifeq ($(PLATFORM),ios)
9396
CFLAGS += -arch arm64 $(SDK)
9497
LLAMA_OPTIONS += -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0
9598
WHISPER_OPTIONS += -DCMAKE_SYSTEM_NAME=iOS -DCMAKE_OSX_DEPLOYMENT_TARGET=14.0 -DWHISPER_COREML=ON
99+
STRIP = strip -x -S $@
96100
else ifeq ($(PLATFORM),isim)
97101
TARGET := $(DIST_DIR)/ai.dylib
98102
SDK := -isysroot $(shell xcrun --sdk iphonesimulator --show-sdk-path) -miphonesimulator-version-min=14.0
@@ -106,6 +110,7 @@ else # linux
106110
LDFLAGS += -shared
107111
LLAMA_OPTIONS += -DGGML_OPENMP=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
108112
WHISPER_OPTIONS += -DGGML_OPENMP=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON
113+
STRIP = strip --strip-unneeded $@
109114
endif
110115

111116
# Windows .def file generation
@@ -130,10 +135,8 @@ ifeq ($(PLATFORM),windows)
130135
# Generate import library for Windows
131136
dlltool -D $@ -d $(DEF_FILE) -l $(DIST_DIR)/ai.lib
132137
endif
133-
ifeq ($(PLATFORM),android)
134-
# Android strip debug symbols
135-
$(BIN)/llvm-strip --strip-unneeded $@
136-
endif
138+
# Strip debug symbols
139+
$(STRIP)
137140

138141
# Object files
139142
$(BUILD_DIR)/%.o: %.c

0 commit comments

Comments
 (0)