xref: /OK3568_Linux_fs/buildroot/package/owfs/owfs.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# owfs
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunOWFS_VERSION = 3.2p3
8*4882a593SmuzhiyunOWFS_SITE = https://github.com/owfs/owfs/releases/download/v$(OWFS_VERSION)
9*4882a593SmuzhiyunOWFS_DEPENDENCIES = host-pkgconf
10*4882a593SmuzhiyunOWFS_CONF_OPTS = --disable-owperl --without-perl5 --disable-owtcl --without-tcl
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun# owtcl license is declared in module/ownet/c/src/include/ow_functions.h
13*4882a593SmuzhiyunOWFS_LICENSE = GPL-2.0+, LGPL-2.0 (owtcl)
14*4882a593SmuzhiyunOWFS_LICENSE_FILES = COPYING COPYING.LIB
15*4882a593SmuzhiyunOWFS_INSTALL_STAGING = YES
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun# owfs PHP support is not PHP 7 compliant
18*4882a593Smuzhiyun# https://sourceforge.net/p/owfs/support-requests/32/
19*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-owphp --without-php
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun# Skip man pages processing
22*4882a593SmuzhiyunOWFS_CONF_ENV += ac_cv_path_SOELIM=true
23*4882a593Smuzhiyun
24*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBFUSE),y)
25*4882a593SmuzhiyunOWFS_DEPENDENCIES += libfuse
26*4882a593SmuzhiyunOWFS_CONF_OPTS += \
27*4882a593Smuzhiyun	--enable-owfs \
28*4882a593Smuzhiyun	--with-fuseinclude=$(STAGING_DIR)/usr/include \
29*4882a593Smuzhiyun	--with-fuselib=$(STAGING_DIR)/usr/lib
30*4882a593Smuzhiyundefine OWFS_INSTALL_FUSE_INIT_SYSV
31*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 $(OWFS_PKGDIR)S60owfs \
32*4882a593Smuzhiyun		$(TARGET_DIR)/etc/init.d/S60owfs
33*4882a593Smuzhiyunendef
34*4882a593Smuzhiyundefine OWFS_CREATE_MOUNTPOINT
35*4882a593Smuzhiyun	mkdir -p $(TARGET_DIR)/dev/1wire
36*4882a593Smuzhiyunendef
37*4882a593SmuzhiyunOWFS_POST_INSTALL_TARGET_HOOKS += OWFS_CREATE_MOUNTPOINT
38*4882a593Smuzhiyunelse
39*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-owfs
40*4882a593Smuzhiyunendif
41*4882a593Smuzhiyun
42*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBFTDI1),y)
43*4882a593SmuzhiyunOWFS_CONF_OPTS += \
44*4882a593Smuzhiyun	--enable-ftdi \
45*4882a593Smuzhiyun	--with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi1-config
46*4882a593SmuzhiyunOWFS_DEPENDENCIES += libftdi1
47*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_LIBFTDI),y)
48*4882a593SmuzhiyunOWFS_CONF_OPTS += \
49*4882a593Smuzhiyun	--enable-ftdi \
50*4882a593Smuzhiyun	--with-libftdi-config=$(STAGING_DIR)/usr/bin/libftdi-config
51*4882a593SmuzhiyunOWFS_DEPENDENCIES += libftdi
52*4882a593Smuzhiyunelse
53*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-ftdi
54*4882a593Smuzhiyunendif
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBUSB),y)
57*4882a593SmuzhiyunOWFS_CONF_OPTS += --enable-usb
58*4882a593SmuzhiyunOWFS_DEPENDENCIES += libusb
59*4882a593Smuzhiyunelse
60*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-usb
61*4882a593Smuzhiyunendif
62*4882a593Smuzhiyun
63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_AVAHI),y)
64*4882a593SmuzhiyunOWFS_CONF_OPTS += --enable-avahi
65*4882a593SmuzhiyunOWFS_DEPENDENCIES += avahi
66*4882a593Smuzhiyunelse
67*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-avahi
68*4882a593Smuzhiyunendif
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun# setup.py isn't python3 compliant
71*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_PYTHON),y)
72*4882a593SmuzhiyunOWFS_CONF_OPTS += \
73*4882a593Smuzhiyun	--enable-owpython \
74*4882a593Smuzhiyun	--with-python \
75*4882a593Smuzhiyun	--with-pythonconfig=$(STAGING_DIR)/usr/bin/python-config
76*4882a593SmuzhiyunOWFS_MAKE_ENV += \
77*4882a593Smuzhiyun	CC="$(TARGET_CC)" \
78*4882a593Smuzhiyun	PYTHONPATH="$(PYTHON_PATH)" \
79*4882a593Smuzhiyun	_python_sysroot=$(STAGING_DIR) \
80*4882a593Smuzhiyun	_python_prefix=/usr \
81*4882a593Smuzhiyun	_python_exec_prefix=/usr
82*4882a593SmuzhiyunOWFS_DEPENDENCIES += python host-swig
83*4882a593Smuzhiyun# The configure scripts finds PYSITEDIR as the python_lib directory of
84*4882a593Smuzhiyun# host-python, and then prepends DESTDIR in front of it. So we end up
85*4882a593Smuzhiyun# installing things in $(TARGET_DIR)/$(HOST_DIR)/lib/python which is
86*4882a593Smuzhiyun# clearly wrong.
87*4882a593Smuzhiyun# Patching owfs to do the right thing is not trivial, it's much easier to
88*4882a593Smuzhiyun# override the PYSITEDIR variable in make.
89*4882a593SmuzhiyunOWFS_EXTRA_MAKE_OPTS += PYSITEDIR=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
90*4882a593Smuzhiyun
91*4882a593Smuzhiyunelse
92*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-owpython --without-python
93*4882a593Smuzhiyunendif
94*4882a593Smuzhiyun
95*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),y)
96*4882a593Smuzhiyun# zeroconf support uses dlopen()
97*4882a593SmuzhiyunOWFS_CONF_OPTS += --disable-zero
98*4882a593Smuzhiyunendif
99*4882a593Smuzhiyun
100*4882a593SmuzhiyunOWFS_MAKE = $(MAKE) $(OWFS_EXTRA_MAKE_OPTS)
101*4882a593Smuzhiyun
102*4882a593Smuzhiyundefine OWFS_INSTALL_INIT_SYSV
103*4882a593Smuzhiyun	$(INSTALL) -D -m 0755 $(OWFS_PKGDIR)S55owserver \
104*4882a593Smuzhiyun		$(TARGET_DIR)/etc/init.d/S55owserver
105*4882a593Smuzhiyun	$(OWFS_INSTALL_FUSE_INIT_SYSV)
106*4882a593Smuzhiyunendef
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun$(eval $(autotools-package))
109