1###########################################
2# Simple Makefile for HIDAPI test program
3#
4# Alan Ott
5# Signal 11 Software
6# 2010-06-01
7###########################################
8
9all: hidtest-hidraw libs
10
11libs: libhidapi-hidraw.so
12
13CC       ?= gcc
14CFLAGS   ?= -Wall -g -fpic
15
16CXX      ?= g++
17CXXFLAGS ?= -Wall -g -fpic
18
19LDFLAGS  ?= -Wall -g
20
21
22COBJS     = hid.o
23CPPOBJS   = ../hidtest/hidtest.o
24OBJS      = $(COBJS) $(CPPOBJS)
25LIBS_UDEV = `pkg-config libudev --libs` -lrt
26LIBS      = $(LIBS_UDEV)
27INCLUDES ?= -I../hidapi `pkg-config libusb-1.0 --cflags`
28
29
30# Console Test Program
31hidtest-hidraw: $(COBJS) $(CPPOBJS)
32	$(CXX) $(LDFLAGS) $^ $(LIBS_UDEV) -o $@
33
34# Shared Libs
35libhidapi-hidraw.so: $(COBJS)
36	$(CC) $(LDFLAGS) $(LIBS_UDEV) -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-hidraw libhidapi-hidraw.so ../hidtest/hidtest.o
48
49.PHONY: clean libs
50