summaryrefslogtreecommitdiffstats
path: root/rules/pyserial.make
blob: 3100129e504ea1630e5c398952ef8a31f6baa9f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# -*-makefile-*-
#
# Copyright (C) 2011 by Juergen Beisert <jbe@pengutronix.de>
#
# See CREDITS for details about who has contributed to this project.
#
# For further information about the PTXdist project and license conditions
# see the README file.
#

#
# We provide this package
#
PACKAGES-$(PTXCONF_PYSERIAL) += pyserial

#
# Paths and names
#
PYSERIAL_VERSION	:= 2.6
PYSERIAL_MD5		:= cde799970b7c1ce1f7d6e9ceebe64c98
PYSERIAL		:= pyserial-$(PYSERIAL_VERSION)
PYSERIAL_SUFFIX		:= tar.gz
PYSERIAL_URL		:= http://pypi.python.org/packages/source/p/pyserial/$(PYSERIAL).$(PYSERIAL_SUFFIX)
PYSERIAL_SOURCE		:= $(SRCDIR)/$(PYSERIAL).$(PYSERIAL_SUFFIX)
PYSERIAL_DIR		:= $(BUILDDIR)/$(PYSERIAL)
PYSERIAL_LICENSE	:= BSD

# ----------------------------------------------------------------------------
# Prepare
# ----------------------------------------------------------------------------

PYSERIAL_PATH		:= PATH=$(CROSS_PATH)
PYSERIAL_CONF_TOOL	:= NO
PYSERIAL_MAKE_ENV	:= $(CROSS_ENV)

# ----------------------------------------------------------------------------
# Compile
# ----------------------------------------------------------------------------

$(STATEDIR)/pyserial.compile:
	@$(call targetinfo)
	@$(call touch)

# ----------------------------------------------------------------------------
# Instal
# ----------------------------------------------------------------------------

$(STATEDIR)/pyserial.install:
	@$(call targetinfo)
	@cd $(PYSERIAL_DIR) && \
		$(PYSERIAL_PATH) $(PYSERIAL_MAKE_ENV) \
		python setup.py install --root=$(PYSERIAL_PKGDIR) --prefix=/usr
	@$(call touch)

# ----------------------------------------------------------------------------
# Target-Install
# ----------------------------------------------------------------------------

$(STATEDIR)/pyserial.targetinstall:
	@$(call targetinfo)

	@$(call install_init, pyserial)
	@$(call install_fixup, pyserial,PRIORITY,optional)
	@$(call install_fixup, pyserial,SECTION,base)
	@$(call install_fixup, pyserial,AUTHOR,"Juergen Beisert <jbe@pengutronix.de>")
	@$(call install_fixup, pyserial,DESCRIPTION, "Serial Communication for Python")

	@$(call install_copy, pyserial, 0, 0, 0755, $(PYTHON_SITEPACKAGES))
	@$(call install_copy, pyserial, 0, 0, 0755, $(PYTHON_SITEPACKAGES)/serial)
	@$(call install_copy, pyserial, 0, 0, 0755, $(PYTHON_SITEPACKAGES)/serial/tools)
	@$(call install_copy, pyserial, 0, 0, 0755, $(PYTHON_SITEPACKAGES)/serial/urlhandler)

	@for file in $(shell cd $(PYSERIAL_PKGDIR) && find . -name "*.pyc"); \
	do \
		$(call install_copy, pyserial, 0, 0, 0644, -, /$$file); \
	done

# note: the setup.py also installs the miniterm.py script, but with a really
# broken path to the python interpreter. As a workaround we use the plain script
# from the build directory instead
ifdef PTXCONF_PYSERIAL_MINITERM
	$(call install_copy, pyserial, 0, 0, 0755, \
		$(PYSERIAL_DIR)/serial/tools/miniterm.py, /usr/bin/miniterm.py)
endif

# there are some examples that could be useful to check and understand this package
ifdef PTXCONF_PYSERIAL_EXAMPLES
	@for file in run_all_tests.py test_high_load.py test.py test_url.py \
		test_advanced.py test_iolib.py test_readline.py; \
		do \
			$(call install_copy, pyserial, 0, 0, 0755, \
			$(PYSERIAL_DIR)/test/$$file, /usr/bin/$$file); \
		done
endif

# there are some test scripts that could be useful to check the installation
ifdef PTXCONF_PYSERIAL_TESTS
	@for file in enhancedserial.py scanlinux.py setup-miniterm-py2exe.py \
		tcp_serial_redirect.py port_publisher.py scan.py \
		setup-rfc2217_server-py2exe.py wxSerialConfigDialog.py \
		rfc2217_server.py scanwin32.py setup-wxTerminal-py2exe.py; \
		do \
			$(call install_copy, pyserial, 0, 0, 0755, \
			$(PYSERIAL_DIR)/examples/$$file, /usr/bin/$$file); \
		done
endif
	@$(call install_finish, pyserial)

	@$(call touch)

# vim: syntax=make