Update Makefile
[usb-relay-hid.git] / commandline / makemake / Makefile
index cc3b0f14eb758150380c1e477c120e1d17f3a273..0e32ac2a7fef2fc612d69e5433431004e1e8611c 100644 (file)
@@ -1,21 +1,22 @@
-# Makefile for HID USB relay utility, hidusbrelay-cmd
-# pa03 24-jan-2015
-#
+# Makefile for HID USB relay utility, hidusbrelay-cmd and library
+# for Linux
+# (Quick'n'dirty - no .h dependencies, etc.)
+# Assume make is run in this dir
+# pa05 21-oct-2015
+
 # prototype:
 # Author: Christian Starkjohann
 # Creation Date: 2008-04-11
-# Tabsize: 4
 # Copyright: (c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH
-# License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt)
 
 SRCDIR=..
 VPATH = $(SRCDIR)
 
-CMD_UTILITY=hidusb-relay-cmd
+CMD_UTILITY := hidusb-relay-cmd
+SHRLIB      := usb_relay_device.so
 
-# For Linux
-# Using old simple version 0.1 of libusb
-HIDDATA=hiddata_libusb01
+# For Linux: Using old simple version 0.1 of libusb
+HIDDATA  := hiddata_libusb01
 USBFLAGS := $(shell libusb-config --cflags)
 USBLIBS  := $(shell libusb-config --libs)
 EXE_SUFFIX=
@@ -34,13 +35,14 @@ SRCS = usbrelay-cmd $(HIDDATA)
 
 PROGRAM=       $(CMD_UTILITY)$(EXE_SUFFIX)
 
+all: $(PROGRAM) $(SHRLIB)
+
 CC=            gcc
 DEBUGFLAGS=
 CFLAGS=                -O -Wall $(USBFLAGS) $(DEBUGFLAGS) -I$(SRCDIR)
 LIBS=          $(USBLIBS)
 OBJ=           $(addsuffix .o,$(SRCS))
 
-all: $(PROGRAM)
 
 $(PROGRAM): $(OBJ)
        $(CC) -o $(PROGRAM) $(OBJ) $(LIBS)
@@ -49,7 +51,20 @@ strip: $(PROGRAM)
        strip $(PROGRAM)
 
 clean:
-       rm -f $(OBJ) $(PROGRAM)
+       rm -f *.o $(PROGRAM) $(SHRLIB)
 
 %.c.o:
        $(CC) $(ARCH_COMPILE) $(CFLAGS) -c $*.c -o $*.o
+
+#
+# Shared library
+# The main lib source is in lib/ and hiddata src with the cmd utility - reorg!
+#
+SRCS_LIB = $(HIDDATA) usb_relay_lib
+CFLAGS += -I../../lib -fPIC
+VPATH =../../lib:..
+
+$(SHRLIB):     $(addsuffix .o, $(SRCS_LIB))
+       $(CC) -shared -Wl,-shared $(addsuffix .o, $(SRCS_LIB)) $(LIBS) -o $(SHRLIB)
+
+