Makefile-manual 1009 B

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