8da94aecf261f87df52e6e8d4564c0a5d36774e9
[usb-relay-hid.git] / commandline / makemake / Makefile
1 # Makefile for HID USB relay utility, hidusbrelay-cmd and library
2 # for Linux
3 # (Quick'n'dirty - no .h dependencies, etc.)
4 # Assume make is run in this dir
5 # pa04 24-jan-2015
6
7 # prototype:
8 # Author: Christian Starkjohann
9 # Creation Date: 2008-04-11
10 # Copyright: (c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH
11
12 SRCDIR=..
13 VPATH = $(SRCDIR)
14
15 CMD_UTILITY := hidusb-relay-cmd
16 SHRLIB := usb_relay_device.so
17
18 # For Linux: Using old simple version 0.1 of libusb
19 HIDDATA := hiddata_libusb01
20 USBFLAGS := $(shell libusb-config --cflags)
21 USBLIBS := $(shell libusb-config --libs)
22 EXE_SUFFIX=
23
24
25 # Use the following lines to build for Windows and comment out the 3 above:
26 #HIDDATA=hiddata_mswin
27 #USBFLAGS=
28 #USBLIBS= -lhid -lsetupapi
29 #EXE_SUFFIX= .exe
30
31 #+pa GCC on my ubuntu 12 won't pick this dir by default ?!
32 #USBFLAGS+=-I/usr/include
33
34 SRCS = usbrelay-cmd $(HIDDATA)
35
36 PROGRAM= $(CMD_UTILITY)$(EXE_SUFFIX)
37
38 all: $(PROGRAM) $(SHRLIB)
39
40 CC= gcc
41 DEBUGFLAGS=
42 CFLAGS= -O -Wall $(USBFLAGS) $(DEBUGFLAGS) -I$(SRCDIR)
43 LIBS= $(USBLIBS)
44 OBJ= $(addsuffix .o,$(SRCS))
45
46
47 $(PROGRAM): $(OBJ)
48 $(CC) -o $(PROGRAM) $(OBJ) $(LIBS)
49
50 strip: $(PROGRAM)
51 strip $(PROGRAM)
52
53 clean:
54 rm -f *.o $(PROGRAM) $(SHRLIB)
55
56 %.c.o:
57 $(CC) $(ARCH_COMPILE) $(CFLAGS) -c $*.c -o $*.o
58
59 #
60 # Shared library
61 # The main lib source is in lib/ and hiddata src with the cmd utility - reorg!
62 #
63 SRCS_LIB = $(HIDDATA) usb_relay_lib
64 CFLAGS += -I../../lib
65 VPATH =../../lib:..
66
67 $(SHRLIB): $(addsuffix .o, $(SRCS_LIB))
68 $(CC) -shared -Wl,-shared $(addsuffix .o, $(SRCS_LIB)) $(LIBS) -o $(SHRLIB)
69
70