Linux

Thirdparty opensource cross 컴파일에 참고!

_Erato 2014. 8. 7. 17:34

종종 사용하는 오픈소스!

크로스 컴파일 환경에서 사용하기 좋게 만들었다.

머리가 나빠 자꾸 잊어버리기 때문에.. 언젠가 또 사용하게 되면 사용하자구.


diskusage.2014.08.07.tar.gz


#!/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