Thirdparty opensource cross 컴파일에 참고!
종종 사용하는 오픈소스!
크로스 컴파일 환경에서 사용하기 좋게 만들었다.
머리가 나빠 자꾸 잊어버리기 때문에.. 언젠가 또 사용하게 되면 사용하자구.
#!/bin/sh
#
# build for 3rdparty
#
# 2014.08. 07
# by erato.
#
#
LOCAL_PATH := $(shell pwd)
E2FSPROGS := e2fsprogs-1.42.9
E2FSPROGS_SRC_FILE := $(E2FSPROGS).tar.gz
NCURSES := ncurses-5.9
NCURSES_SRC_FILE := $(NCURSES).tar.gz
POPT := popt-1.16
POPT_SRC_FILE := $(POPT).tar.gz
GPTF_DISK := gptfdisk-0.8.9
GPTF_DISK_SRC_FILE := $(GPTF_DISK).tar.gz
.PHONY: all
all: mkdir e2fsprogs popt install
@if [ ! -f $(OUT_THIRDPARTY_PATH)/lib/libgptcl.a ]; then \
if [ ! -d $(GPTF_DISK) ]; then tar xvzf $(GPTF_DISK_SRC_FILE); fi; \
if [ -f $(GPTF_DISK)/Makefile ]; then \
cd $(GPTF_DISK); \
make gptcl; \
cp -f gpt*.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f support.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f parttypes.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f guid.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f attributes.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f mbr.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f diskio.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f basicmbr.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f mbrpart.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f bsd.h $(OUT_THIRDPARTY_PATH)/include; \
cp -f libgptcl.a $(OUT_THIRDPARTY_PATH)/lib; \
fi; \
fi
.PHONY: clean
clean: rmdir
mkdir:
@if [ ! -d $(OUT_THIRDPARTY_PATH) ]; then mkdir -p $(OUT_THIRDPARTY_PATH); fi
@if [ ! -d $(OUT_THIRDPARTY_PATH)/include ]; then mkdir -p $(OUT_THIRDPARTY_PATH)/include; fi
@if [ ! -d $(OUT_THIRDPARTY_PATH)/lib ]; then mkdir -p $(OUT_THIRDPARTY_PATH)/lib; fi
rmdir:
@if [ -d $(E2FSPROGS) ]; then rm -rf $(E2FSPROGS); fi
@if [ -d $(NCURSES) ]; then rm -rf $(NCURSES); fi
@if [ -d $(POPT) ]; then rm -rf $(POPT); fi
@if [ -d $(GPTF_DISK) ]; then rm -rf $(GPTF_DISK); fi
@if [ -d $(OUT_THIRDPARTY_PATH) ]; then rm -rf $(OUT_THIRDPARTY_PATH); fi
e2fsprogs:
@if [ ! -d $(E2FSPROGS) ]; then tar xvzf $(E2FSPROGS_SRC_FILE); fi
@if [ ! -f $(E2FSPROGS)/Makefile ]; then \
cd $(E2FSPROGS); \
if [ $(ARCH) ]; then \
./configure --host=arm-linux --prefix=/$(OUT_THIRDPARTY_PATH)/$(E2FSPROGS) --disable-doc || exit 1; \
else \
./configure --prefix=/$(OUT_THIRDPARTY_PATH)/$(E2FSPROGS) --disable-doc || exit 1; \
fi; \
make; \
make install; \
if [ -d ./lib/uuid ]; then \
@echo "uuid find!!!"; \
cd ./lib/uuid; \
make; make install; \
fi; \
fi
ncurses:
@if [ ! -d $(NCURSES) ]; then tar xvzf $(NCURSES_SRC_FILE); fi
@if [ ! -f $(NCURSES)/Makefile ]; then \
cd $(NCURSES); \
if [ $(ARCH) ]; then \
./configure --host=arm-linux --prefix=/$(OUT_THIRDPARTY_PATH)/$(NCURSES) --enable-widec --disable-doc || exit 1; \
else \
./configure --prefix=/$(OUT_THIRDPARTY_PATH)/$(NCURSES) --enable-widec --disable-doc || exit 1; \
fi; \
make; \
make install; \
fi
popt:
@if [ ! -d $(POPT) ]; then tar xvzf $(POPT_SRC_FILE); fi
@if [ ! -f $(POPT)/Makefile ]; then \
cd $(POPT); \
if [ $(ARCH) ]; then \
./configure --host=arm-linux --prefix=/$(OUT_THIRDPARTY_PATH)/$(POPT) --disable-doc || exit 1; \
else \
./configure --prefix=/$(OUT_THIRDPARTY_PATH)/$(POPT) --disable-doc || exit 1; \
fi; \
make; \
make install; \
fi
install:
@if [ -d $(OUT_THIRDPARTY_PATH)/$(E2FSPROGS) ]; then \
cp -rf $(OUT_THIRDPARTY_PATH)/$(E2FSPROGS)/include/* $(OUT_THIRDPARTY_PATH)/include; \
cp -f $(OUT_THIRDPARTY_PATH)/$(E2FSPROGS)/lib/lib*.a $(OUT_THIRDPARTY_PATH)/lib; \
fi
@if [ -d $(OUT_THIRDPARTY_PATH)/$(NCURSES) ]; then \
cp -rf $(OUT_THIRDPARTY_PATH)/$(NCURSES)/include/* $(OUT_THIRDPARTY_PATH)/include; \
cp -f $(OUT_THIRDPARTY_PATH)/$(NCURSES)/lib/lib*.a $(OUT_THIRDPARTY_PATH)/lib; \
fi
@if [ -d $(OUT_THIRDPARTY_PATH)/$(POPT) ]; then \
cp -rf $(OUT_THIRDPARTY_PATH)/$(POPT)/include/* $(OUT_THIRDPARTY_PATH)/include; \
cp -f $(OUT_THIRDPARTY_PATH)/$(POPT)/lib/lib*.a $(OUT_THIRDPARTY_PATH)/lib; \
fi