1184610Salfred#
2184610Salfred# $FreeBSD: stable/10/lib/libusb/Makefile 362224 2020-06-16 12:21:55Z kevans $
3184610Salfred#
4184610Salfred# Makefile for the FreeBSD specific LibUSB 2.0
5184610Salfred#
6184610Salfred
7189585SthompsaLIB=		usb
8234686ShselaskySHLIB_MAJOR=	3
9184610SalfredSHLIB_MINOR=	0
10184610SalfredSRCS=		libusb20.c
11184610SalfredSRCS+=		libusb20_desc.c
12184610SalfredSRCS+=		libusb20_ugen20.c
13184610SalfredINCS+=		libusb20.h
14184610SalfredINCS+=		libusb20_desc.h
15194674SthompsaMAN=		libusb.3 libusb20.3
16184610SalfredMKLINT=		no
17184610SalfredNOGCCERROR=
18253339ShselaskyPTHREAD_LIBS?=	-lpthread
19184610Salfred
20201381SedWARNS?=		2
21201381Sed
22236944ShselaskyDPADD=		${LIBPTHREAD}
23253339ShselaskyLDADD=		${PTHREAD_LIBS}
24236944Shselasky
25194674SthompsaMLINKS+=	libusb.3 usb.3
26189628Sthompsa
27189585Sthompsa# libusb 0.1 compat
28189585SthompsaINCS+=		usb.h
29223495ShselaskySRCS+=		libusb01.c
30189585Sthompsa
31194674Sthompsa# libusb 1.0 compat
32194674SthompsaINCS+=		libusb.h
33194674SthompsaSRCS+=		libusb10.c
34194674SthompsaSRCS+=		libusb10_desc.c
35302275ShselaskySRCS+=		libusb10_hotplug.c
36194674SthompsaSRCS+=		libusb10_io.c
37194674Sthompsa
38213852Shselasky.if defined(COMPAT_32BIT)
39213852ShselaskyCFLAGS+=	-DCOMPAT_32BIT
40288610Sbdrewery.else
41288610SbdreweryFILES=		libusb-0.1.pc libusb-1.0.pc libusb-2.0.pc
42288610SbdreweryFILESDIR=	${LIBDATADIR}/pkgconfig
43213852Shselasky.endif
44213852Shselasky
45248236Shselasky#
46248236Shselasky# Cross platform support
47248236Shselasky#
48248236Shselasky# Examples:
49248236Shselasky# make LIBUSB_GLOBAL_INCLUDE_FILE=libusb_global_linux.h
50253339Shselasky# make COMPAT_32BIT=YES \
51253339Shselasky#   LIBUSB_GLOBAL_INCLUDE_FILE=libusb_global_linux.h \
52253339Shselasky#   DEBUG_FLAGS="-g"
53248236Shselasky#
54253339Shselasky# From Ubuntu 10.04:
55253339Shselasky# freebsd-make LIBUSB_GLOBAL_INCLUDE_FILE=libusb_global_linux.h \
56253339Shselasky#    PTHREAD_LIBS="-lpthread -lrt"
57253339Shselasky# freebsd-make COMPAT32_BIT=YES \
58253339Shselasky#    LIBUSB_GLOBAL_INCLUDE_FILE=libusb_global_linux.h \
59253339Shselasky#    PTHREAD_LIBS="-lpthread -lrt"
60253339Shselasky#
61253339Shselasky#
62248236Shselasky.if defined(LIBUSB_GLOBAL_INCLUDE_FILE)
63248236ShselaskyCFLAGS+=	-DLIBUSB_GLOBAL_INCLUDE_FILE=\"${LIBUSB_GLOBAL_INCLUDE_FILE}\"
64248236ShselaskyCFLAGS+=	-DUSB_GLOBAL_INCLUDE_FILE=\"${LIBUSB_GLOBAL_INCLUDE_FILE}\"
65248236ShselaskyCFLAGS+=	-I ../../sys
66248236Shselasky.endif
67248236Shselasky
68184610Salfred.include <bsd.lib.mk>
69184610Salfred
70219101Shselasky# LibUSB v1.0
71302275ShselaskyMLINKS += libusb.3 libusb_get_version.3
72219101ShselaskyMLINKS += libusb.3 libusb_init.3
73219101ShselaskyMLINKS += libusb.3 libusb_exit.3
74362224SkevansMLINKS += libusb.3 libusb_has_capability.3
75219101ShselaskyMLINKS += libusb.3 libusb_strerror.3
76225659ShselaskyMLINKS += libusb.3 libusb_error_name.3
77219101ShselaskyMLINKS += libusb.3 libusb_set_debug.3
78219101ShselaskyMLINKS += libusb.3 libusb_get_device_list.3
79219101ShselaskyMLINKS += libusb.3 libusb_free_device_list.3
80219101ShselaskyMLINKS += libusb.3 libusb_get_bus_number.3
81302275ShselaskyMLINKS += libusb.3 libusb_get_port_number.3
82219101ShselaskyMLINKS += libusb.3 libusb_get_device_address.3
83224917ShselaskyMLINKS += libusb.3 libusb_get_device_speed.3
84219101ShselaskyMLINKS += libusb.3 libusb_get_max_packet_size.3
85234193ShselaskyMLINKS += libusb.3 libusb_get_max_iso_packet_size.3
86219101ShselaskyMLINKS += libusb.3 libusb_ref_device.3
87219101ShselaskyMLINKS += libusb.3 libusb_unref_device.3
88219101ShselaskyMLINKS += libusb.3 libusb_open.3
89219101ShselaskyMLINKS += libusb.3 libusb_open_device_with_vid_pid.3
90219101ShselaskyMLINKS += libusb.3 libusb_close.3
91219101ShselaskyMLINKS += libusb.3 libusb_get_device.3
92219101ShselaskyMLINKS += libusb.3 libusb_get_configuration.3
93219101ShselaskyMLINKS += libusb.3 libusb_set_configuration.3
94219101ShselaskyMLINKS += libusb.3 libusb_claim_interface.3
95219101ShselaskyMLINKS += libusb.3 libusb_release_interface.3
96219101ShselaskyMLINKS += libusb.3 libusb_set_interface_alt_setting.3
97219101ShselaskyMLINKS += libusb.3 libusb_clear_halt.3
98219101ShselaskyMLINKS += libusb.3 libusb_reset_device.3
99219101ShselaskyMLINKS += libusb.3 libusb_check_connected.3
100219101ShselaskyMLINKS += libusb.3 libusb_kernel_driver_active.3
101219101ShselaskyMLINKS += libusb.3 libusb_get_driver.3
102219101ShselaskyMLINKS += libusb.3 libusb_get_driver_np.3
103219101ShselaskyMLINKS += libusb.3 libusb_detach_kernel_driver.3
104219101ShselaskyMLINKS += libusb.3 libusb_detach_kernel_driver_np.3
105219101ShselaskyMLINKS += libusb.3 libusb_attach_kernel_driver.3
106302275ShselaskyMLINKS += libusb.3 libusb_set_auto_detach_kernel_driver.3
107219101ShselaskyMLINKS += libusb.3 libusb_get_device_descriptor.3
108234686ShselaskyMLINKS += libusb.3 libusb_get_active_config_descriptor.3
109219101ShselaskyMLINKS += libusb.3 libusb_get_config_descriptor.3
110219101ShselaskyMLINKS += libusb.3 libusb_get_config_descriptor_by_value.3
111219101ShselaskyMLINKS += libusb.3 libusb_free_config_descriptor.3
112235128ShselaskyMLINKS += libusb.3 libusb_get_string_descriptor.3
113219101ShselaskyMLINKS += libusb.3 libusb_get_string_descriptor_ascii.3
114227404ShselaskyMLINKS += libusb.3 libusb_parse_ss_endpoint_comp.3
115227404ShselaskyMLINKS += libusb.3 libusb_free_ss_endpoint_comp.3
116302275ShselaskyMLINKS += libusb.3 libusb_get_ss_endpoint_companion_descriptor.3
117302275ShselaskyMLINKS += libusb.3 libusb_free_ss_endpoint_companion_descriptor.3
118227404ShselaskyMLINKS += libusb.3 libusb_parse_bos_descriptor.3
119227404ShselaskyMLINKS += libusb.3 libusb_free_bos_descriptor.3
120302275ShselaskyMLINKS += libusb.3 libusb_get_usb_2_0_extension_descriptor.3
121302275ShselaskyMLINKS += libusb.3 libusb_free_usb_2_0_extension_descriptor.3
122302275ShselaskyMLINKS += libusb.3 libusb_get_ss_usb_device_capability_descriptor.3
123302275ShselaskyMLINKS += libusb.3 libusb_free_ss_usb_device_capability_descriptor.3
124302275ShselaskyMLINKS += libusb.3 libusb_get_container_id_descriptor.3
125302275ShselaskyMLINKS += libusb.3 libusb_free_container_id_descriptor.3
126302275ShselaskyMLINKS += libusb.3 libusb_alloc_streams.3
127302275ShselaskyMLINKS += libusb.3 libusb_free_streams.3
128219101ShselaskyMLINKS += libusb.3 libusb_alloc_transfer.3
129219101ShselaskyMLINKS += libusb.3 libusb_free_transfer.3
130302275ShselaskyMLINKS += libusb.3 libusb_transfer_set_stream_id.3
131302275ShselaskyMLINKS += libusb.3 libusb_transfer_get_stream_id.3
132219101ShselaskyMLINKS += libusb.3 libusb_submit_transfer.3
133219101ShselaskyMLINKS += libusb.3 libusb_cancel_transfer.3
134219101ShselaskyMLINKS += libusb.3 libusb_control_transfer.3
135219101ShselaskyMLINKS += libusb.3 libusb_bulk_transfer.3
136219101ShselaskyMLINKS += libusb.3 libusb_interrupt_transfer.3
137219101ShselaskyMLINKS += libusb.3 libusb_try_lock_events.3
138219101ShselaskyMLINKS += libusb.3 libusb_lock_events.3
139219101ShselaskyMLINKS += libusb.3 libusb_unlock_events.3
140219101ShselaskyMLINKS += libusb.3 libusb_event_handling_ok.3
141219101ShselaskyMLINKS += libusb.3 libusb_event_handler_active.3
142219101ShselaskyMLINKS += libusb.3 libusb_lock_event_waiters.3
143219101ShselaskyMLINKS += libusb.3 libusb_unlock_event_waiters.3
144219101ShselaskyMLINKS += libusb.3 libusb_wait_for_event.3
145261482ShselaskyMLINKS += libusb.3 libusb_handle_events_timeout_completed.3
146261482ShselaskyMLINKS += libusb.3 libusb_handle_events_completed.3
147219101ShselaskyMLINKS += libusb.3 libusb_handle_events_timeout.3
148219101ShselaskyMLINKS += libusb.3 libusb_handle_events.3
149219101ShselaskyMLINKS += libusb.3 libusb_handle_events_locked.3
150219101ShselaskyMLINKS += libusb.3 libusb_get_next_timeout.3
151219101ShselaskyMLINKS += libusb.3 libusb_set_pollfd_notifiers.3
152219101ShselaskyMLINKS += libusb.3 libusb_get_pollfds.3
153302275ShselaskyMLINKS += libusb.3 libusb_hotplug_register_callback.3
154302275ShselaskyMLINKS += libusb.3 libusb_hotplug_deregister_callback.3
155219101Shselasky
156219101Shselasky# LibUSB v0.1
157219101ShselaskyMLINKS += libusb.3 usb_open.3
158219101ShselaskyMLINKS += libusb.3 usb_close.3
159219101ShselaskyMLINKS += libusb.3 usb_get_string.3
160219101ShselaskyMLINKS += libusb.3 usb_get_string_simple.3
161219101ShselaskyMLINKS += libusb.3 usb_get_descriptor_by_endpoint.3
162219101ShselaskyMLINKS += libusb.3 usb_get_descriptor.3
163219101ShselaskyMLINKS += libusb.3 usb_parse_descriptor.3
164219101ShselaskyMLINKS += libusb.3 usb_parse_configuration.3
165219101ShselaskyMLINKS += libusb.3 usb_destroy_configuration.3
166219101ShselaskyMLINKS += libusb.3 usb_fetch_and_parse_descriptors.3
167219101ShselaskyMLINKS += libusb.3 usb_bulk_write.3
168219101ShselaskyMLINKS += libusb.3 usb_bulk_read.3
169219101ShselaskyMLINKS += libusb.3 usb_interrupt_write.3
170219101ShselaskyMLINKS += libusb.3 usb_interrupt_read.3
171219101ShselaskyMLINKS += libusb.3 usb_control_msg.3
172219101ShselaskyMLINKS += libusb.3 usb_set_configuration.3
173219101ShselaskyMLINKS += libusb.3 usb_claim_interface.3
174219101ShselaskyMLINKS += libusb.3 usb_release_interface.3
175219101ShselaskyMLINKS += libusb.3 usb_set_altinterface.3
176219101ShselaskyMLINKS += libusb.3 usb_resetep.3
177219101ShselaskyMLINKS += libusb.3 usb_clear_halt.3
178219101ShselaskyMLINKS += libusb.3 usb_reset.3
179219101ShselaskyMLINKS += libusb.3 usb_strerror.3
180219101ShselaskyMLINKS += libusb.3 usb_init.3
181219101ShselaskyMLINKS += libusb.3 usb_set_debug.3
182219101ShselaskyMLINKS += libusb.3 usb_find_busses.3
183219101ShselaskyMLINKS += libusb.3 usb_find_devices.3
184219101ShselaskyMLINKS += libusb.3 usb_device.3
185219101ShselaskyMLINKS += libusb.3 usb_get_busses.3
186219101ShselaskyMLINKS += libusb.3 usb_check_connected.3
187219101Shselasky
188219101Shselasky# LibUSB v2.0
189219101ShselaskyMLINKS += libusb20.3 libusb20_tr_close.3
190219101ShselaskyMLINKS += libusb20.3 libusb20_tr_open.3
191219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_pointer.3
192219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_time_complete.3
193219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_actual_frames.3
194219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_actual_length.3
195219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_max_frames.3
196219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_max_packet_length.3
197219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_max_total_length.3
198219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_status.3
199219101ShselaskyMLINKS += libusb20.3 libusb20_tr_pending.3
200219101ShselaskyMLINKS += libusb20.3 libusb20_tr_callback_wrapper.3
201219101ShselaskyMLINKS += libusb20.3 libusb20_tr_clear_stall_sync.3
202219101ShselaskyMLINKS += libusb20.3 libusb20_tr_drain.3
203219101ShselaskyMLINKS += libusb20.3 libusb20_tr_set_buffer.3
204219101ShselaskyMLINKS += libusb20.3 libusb20_tr_set_callback.3
205219101ShselaskyMLINKS += libusb20.3 libusb20_tr_set_flags.3
206219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_length.3
207219101ShselaskyMLINKS += libusb20.3 libusb20_tr_set_length.3
208219101ShselaskyMLINKS += libusb20.3 libusb20_tr_set_priv_sc0.3
209219101ShselaskyMLINKS += libusb20.3 libusb20_tr_set_priv_sc1.3
210219101ShselaskyMLINKS += libusb20.3 libusb20_tr_set_timeout.3
211219101ShselaskyMLINKS += libusb20.3 libusb20_tr_set_total_frames.3
212219101ShselaskyMLINKS += libusb20.3 libusb20_tr_setup_bulk.3
213219101ShselaskyMLINKS += libusb20.3 libusb20_tr_setup_control.3
214219101ShselaskyMLINKS += libusb20.3 libusb20_tr_setup_intr.3
215219101ShselaskyMLINKS += libusb20.3 libusb20_tr_setup_isoc.3
216219101ShselaskyMLINKS += libusb20.3 libusb20_tr_bulk_intr_sync.3
217219101ShselaskyMLINKS += libusb20.3 libusb20_tr_start.3
218219101ShselaskyMLINKS += libusb20.3 libusb20_tr_stop.3
219219101ShselaskyMLINKS += libusb20.3 libusb20_tr_submit.3
220219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_priv_sc0.3
221219101ShselaskyMLINKS += libusb20.3 libusb20_tr_get_priv_sc1.3
222219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_backend_name.3
223219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_info.3
224219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_iface_desc.3
225219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_desc.3
226356399ShselaskyMLINKS += libusb20.3 libusb20_dev_get_stats.3
227219101ShselaskyMLINKS += libusb20.3 libusb20_dev_close.3
228219101ShselaskyMLINKS += libusb20.3 libusb20_dev_detach_kernel_driver.3
229219101ShselaskyMLINKS += libusb20.3 libusb20_dev_set_config_index.3
230219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_debug.3
231219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_fd.3
232219101ShselaskyMLINKS += libusb20.3 libusb20_dev_kernel_driver_active.3
233219101ShselaskyMLINKS += libusb20.3 libusb20_dev_open.3
234219101ShselaskyMLINKS += libusb20.3 libusb20_dev_process.3
235219101ShselaskyMLINKS += libusb20.3 libusb20_dev_request_sync.3
236219101ShselaskyMLINKS += libusb20.3 libusb20_dev_req_string_sync.3
237219101ShselaskyMLINKS += libusb20.3 libusb20_dev_req_string_simple_sync.3
238219101ShselaskyMLINKS += libusb20.3 libusb20_dev_reset.3
239219101ShselaskyMLINKS += libusb20.3 libusb20_dev_check_connected.3
240219101ShselaskyMLINKS += libusb20.3 libusb20_dev_set_power_mode.3
241219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_power_mode.3
242250201ShselaskyMLINKS += libusb20.3 libusb20_dev_get_port_path.3
243246789ShselaskyMLINKS += libusb20.3 libusb20_dev_get_power_usage.3
244219101ShselaskyMLINKS += libusb20.3 libusb20_dev_set_alt_index.3
245219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_device_desc.3
246219101ShselaskyMLINKS += libusb20.3 libusb20_dev_alloc_config.3
247219101ShselaskyMLINKS += libusb20.3 libusb20_dev_alloc.3
248219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_address.3
249223495ShselaskyMLINKS += libusb20.3 libusb20_dev_get_parent_address.3
250223495ShselaskyMLINKS += libusb20.3 libusb20_dev_get_parent_port.3
251219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_bus_number.3
252219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_mode.3
253219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_speed.3
254219101ShselaskyMLINKS += libusb20.3 libusb20_dev_get_config_index.3
255219101ShselaskyMLINKS += libusb20.3 libusb20_dev_free.3
256219101ShselaskyMLINKS += libusb20.3 libusb20_dev_set_debug.3
257219101ShselaskyMLINKS += libusb20.3 libusb20_dev_wait_process.3
258219101ShselaskyMLINKS += libusb20.3 libusb20_be_get_template.3
259219101ShselaskyMLINKS += libusb20.3 libusb20_be_set_template.3
260219101ShselaskyMLINKS += libusb20.3 libusb20_be_get_dev_quirk.3
261219101ShselaskyMLINKS += libusb20.3 libusb20_be_get_quirk_name.3
262219101ShselaskyMLINKS += libusb20.3 libusb20_be_add_dev_quirk.3
263219101ShselaskyMLINKS += libusb20.3 libusb20_be_remove_dev_quirk.3
264219101ShselaskyMLINKS += libusb20.3 libusb20_be_alloc_default.3
265219101ShselaskyMLINKS += libusb20.3 libusb20_be_device_foreach.3
266219101ShselaskyMLINKS += libusb20.3 libusb20_be_dequeue_device.3
267219101ShselaskyMLINKS += libusb20.3 libusb20_be_enqueue_device.3
268219101ShselaskyMLINKS += libusb20.3 libusb20_be_free.3
269219101ShselaskyMLINKS += libusb20.3 libusb20_me_get_1.3
270219101ShselaskyMLINKS += libusb20.3 libusb20_me_get_2.3
271219101ShselaskyMLINKS += libusb20.3 libusb20_me_encode.3
272219101ShselaskyMLINKS += libusb20.3 libusb20_me_decode.3
273219101ShselaskyMLINKS += libusb20.3 libusb20_desc_foreach.3
274225659ShselaskyMLINKS += libusb20.3 libusb20_strerror.3
275225659ShselaskyMLINKS += libusb20.3 libusb20_error_name.3
276