1###########################################
2# Simple Makefile for HIDAPI test program
3#
4# Alan Ott
5# Signal 11 Software
6# 2010-06-01
7###########################################
8
9all: hidtest-libusb libs
10
11libs: libhidapi-libusb.so
12
13CC       ?= gcc
14CFLAGS   ?= -Wall -g -fpic
15
16CXX      ?= g++
17CXXFLAGS ?= -Wall -g -fpic
18
19LDFLAGS  ?= -Wall -g
20
21COBJS_LIBUSB = hid.o
22COBJS = $(COBJS_LIBUSB)
23CPPOBJS   = ../hidtest/hidtest.o
24OBJS      = $(COBJS) $(CPPOBJS)
25LIBS_USB  = `pkg-config libusb-1.0 --libs` -lrt -lpthread
26LIBS      = $(LIBS_USB)
27INCLUDES ?= -I../hidapi `pkg-config libusb-1.0 --cflags`
28
29
30# Console Test Program
31hidtest-libusb: $(COBJS_LIBUSB) $(CPPOBJS)
32	$(CXX) $(LDFLAGS) $^ $(LIBS_USB) -o $@
33
34# Shared Libs
35libhidapi-libusb.so: $(COBJS_LIBUSB)
36	$(CC) $(LDFLAGS) $(LIBS_USB) -shared -fpic -Wl,-soname,$@.0 $^ -o $@
37
38# Objects
39$(COBJS): %.o: %.c
40	$(CC) $(CFLAGS) -c $(INCLUDES) $< -o $@
41
42$(CPPOBJS): %.o: %.cpp
43	$(CXX) $(CXXFLAGS) -c $(INCLUDES) $< -o $@
44
45
46clean:
47	rm -f $(OBJS) hidtest-libusb libhidapi-libusb.so ../hidtest/hidtest.o
48
49.PHONY: clean libs
50