2017-11-14 15 views
1

私は、このルートプログラムを使用してラズベリーパイからさまざまなUSBポートをオン/オフにするための新しいパッケージをビルドしようとしています。buildroot:hub-ctrlの新しいパッケージをBuidling

https://github.com/codazoda/hub-ctrl.c

そして、これは私が構築したhub-ctrl.mkです:

GITリポジトリは、このサイト上にある今まで

################################################################################ 
# 
# hub-ctrl 
# 
################################################################################ 

HUB_CTRL_VERSION = 42095e522859059e8a5f4ec05c1e3def01a870a9 
HUB_CTRL_SITE = https://github.com/codazoda/hub-ctrl.c 
HUB_CTRL_SITE_METHOD = git 
HUB_CTRL_LICENSE = GPLv2+ 

define HUB_CTRL_BUILD_CMDS 
    $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) 
endef 

define HUB_CTRL_INSTALL_TARGET_CMDS 
    # Install predictead application 
    $(INSTALL) -m 4755 -D $(@D)/hub-ctrl $(TARGET_DIR)/usr/sbin/hub-ctrl; 
endef 

$(eval $(generic-package)) 

、すべてがOKです。しかし、リポジトリにはMakefileがないので、自分でビルドすることにしましたが、エラーがあります。私はインクルードとライブラリのフォルダをリンクする方法を知らない。私は専門家のメークファイルビルではないので、何か助けが必要です。

ハブctrl.c:12:17:致命的なエラー:usb.h:そのようなファイルやディレクトリ の#include

PROJECT_ROOT = . 
OUTDIR = $(PROJECT_ROOT)/bin 
BASE_NAME = hub-ctrl 
NAME = $(BASE_NAME)$(D) 
OBJ = $(BASE_NAME).o 
INC = 
LIBS = -lusb 
MKDIR = mkdir -p 
MV = mv 

# Master rule 
.PHONY: all 
all: $(NAME) 

# Output binary 
$(NAME): $(OBJ) 
    $(CC) $(CFLAGS) $(INC) $(OBJ) -o $(BASE_NAME) $(LIBS) 
    [email protected]$(MV) $(BASE_NAME) $(OUTDIR)/$(BASE_NAME) 
    rm *.o 

# Intermediate object files 
$(OBJ): %.o: %.c 
    @$(MKDIR) $(OUTDIR) 
    $(CC) $(CFLAGS) $(LIBS) $(INC) -c $< 

# Cleanup intermediate objects 
.PHONY: clean_obj 
clean_obj: 
    rm -f $(OBJ) 
    @echo "obj cleaned up!" 

# Cleanup everything 
.PHONY: clean 
clean: clean_obj 
    rm -rf $(OUTDIR)/$(BASE_NAME) 
    @echo "all cleaned up!" 

これは私が持っているエラーがある:これは私のMakefileです ^ 編集が終了しました。

提案がありますか?

よろしくお願いいたします。

+0

hub-ctrl.c maintainerが働いているMakefileをアップストリームに追加することは容易になります。 [CMake](https://cmake.org/)はもっと良いでしょう。また、[pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)を使用してlibusbパスを設定する必要があります。 Btw。 libusbはあなたの* .mkファイルに依存関係として追加する必要があります。 – yegorich

+2

このhub-ctrl.cは、2017.11-rc1以降のBuildrootにあるuhubctl(https://github.com/mvp/uhubctl)に関連していますか? –

+0

はいピーター、そうです。私は別のプラットフォームのリポジトリを持っているのでbuildroot-2016.02で作業しています。簡単な方法でbuildroot-2017.11-rc1に移行することはできませんが、このパッケージは私のbuildroot-2016.02ローカルリポジトリにあります。どうもありがとうございました。 – oscargomezf

答えて

0

私はPeter Korsgaardの指示に従ってきました。私はパッケージuhubctlをbuildroot-2017.11-rc1から使用しています。このパッケージを私のbuildroot-2016.02カスタムプラットフォームに追加しました。すべて正常に動作しています.HWプラットフォームのUSBポートの電源を切ることができます。

Peter Korsgaardさんのアドバイスありがとうございました。

関連する問題