22export PATH := /opt/homebrew/opt/ncurses/bin/:/opt/homebrew/opt/coreutils/libexec/gnubin:/opt/homebrew/opt/gnu-sed/libexec/gnubin:/opt/homebrew/opt/make/libexec/gnubin:$(PATH)
33# avoid sed error
44export LC_TYPE := C
5- # avoid probing unwanted packages
6- export PKG_CONFIG := /usr/bin/false
5+ # fix .pc file locations
6+ export PKG_CONFIG_LIBDIR := $(shell pwd)/../buildroot/lib/pkgconfig:$(shell pwd)/../buildroot/share/pkgconfig
77# set toolchain paths
8+ ifeq ($(USE_CCACHE), 1)
9+ export CC := ccache $(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang
10+ export CXX := ccache $(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang++
11+ else
812export CC := $(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang
913export CXX := $(OHOS_SDK_HOME)/native/llvm/bin/$(OHOS_ARCH)-unknown-linux-ohos-clang++
14+ endif
1015export LD := $(OHOS_SDK_HOME)/native/llvm/bin/ld.lld
1116export AR := $(OHOS_SDK_HOME)/native/llvm/bin/llvm-ar
1217export RANLIB := $(OHOS_SDK_HOME)/native/llvm/bin/llvm-ranlib
@@ -17,25 +22,47 @@ export STRIP := $(OHOS_SDK_HOME)/native/llvm/bin/llvm-strip
1722export CFLAGS := -I$(shell pwd)/../buildroot/include -Wno-int-conversion -O2
1823export CXXFLAGS := -I$(shell pwd)/../buildroot/include -O2
1924export LDFLAGS := -L$(shell pwd)/../buildroot/lib
20- export PREFIX := /
25+ export PREFIX := /data/app/harmonix.org/harmonix_1.0
2126
22- define define_autotools_package
27+ # default GNU mirror, allow to override
28+ GNU_MIRROR ?= https://ftpmirror.gnu.org
29+
30+ BUILD_DIR = build
31+
32+ define define_package_common
2333all: download/$(SOURCE_FILE)
2434 rm -rf temp build
2535 mkdir -p temp build
2636 cd temp && tar xvf ../download/$(SOURCE_FILE)
27- cd temp/$(SOURCE_DIR) && mkdir build
28- cd temp/$(SOURCE_DIR)/build && ../configure $(CONFIG_ARGS)
29- cd temp/$(SOURCE_DIR)/build && make -j $(shell nproc)
30- cd temp/$(SOURCE_DIR)/build && make install DESTDIR=$(shell pwd)/build
31- mkdir -p ../sysroot
37+ mkdir -p temp/$(SOURCE_DIR)/$(BUILD_DIR)
38+ $(PATCH_SOURCE)
39+ make configure
40+ cd temp/$(SOURCE_DIR)/$(BUILD_DIR) && make -j $(shell nproc)
41+ cd temp/$(SOURCE_DIR)/$(BUILD_DIR) && make install DESTDIR=$(shell pwd)/build
42+ $(AFTER_INSTALL)
43+ mkdir -p ../buildroot
3244 # drop .la files generated by libtool
3345 rm -fv build$(PREFIX)/lib/*.la
3446 # strip all elf files
3547 find build -type f -exec file {} \; | grep ELF | awk '{print substr($$$$1, 0, length($$$$1)-1);}' | xargs -t $(OHOS_SDK_HOME)/native/llvm/bin/llvm-strip
36- cp -rfv build$(PREFIX)/. ../sysroot | tee file.lst
48+ cp -rfv build$(PREFIX)/. ../buildroot | tee file.lst
3749
3850download/$(SOURCE_FILE):
3951 mkdir -p download
4052 cd download && wget --retry-connrefused --read-timeout=20 --timeout=15 $(SOURCE_URL)
4153endef
54+
55+ define define_autotools_package
56+ $(eval $(call define_package_common))
57+
58+ configure:
59+ cd temp/$(SOURCE_DIR)/$(BUILD_DIR) && ../configure $(CONFIG_ARGS)
60+ endef
61+
62+ CMAKE_LISTS_PATH = ..
63+ define define_cmake_package
64+ $(eval $(call define_package_common))
65+
66+ configure:
67+ cd temp/$(SOURCE_DIR)/$(BUILD_DIR) && cmake $(CMAKE_LISTS_PATH) $(CMAKE_ARGS)
68+ endef
0 commit comments