diff options
author | Hans de Goede <hdegoede@redhat.com> | 2011-05-06 16:28:05 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2011-05-06 16:28:05 +0200 |
commit | e3b6c0bf471606ab049e7adc94564b7d45ff6831 (patch) | |
tree | b4a4b20b70326a6efcd37ce8f93bb76f79a9e4b5 | |
parent | 2c67fa9b3317dc5fbe109ad25c52efb0eea33858 (diff) |
Replace compile.sh with a proper buildsys
-rw-r--r-- | Make.rules | 30 | ||||
-rw-r--r-- | Makefile | 8 | ||||
-rwxr-xr-x | compile.sh | 7 | ||||
-rw-r--r-- | usbredirhost/Makefile | 50 | ||||
-rw-r--r-- | usbredirparser/Makefile | 42 | ||||
-rw-r--r-- | usbredirserver/Makefile | 18 | ||||
-rw-r--r-- | usbredirtestclient/Makefile | 13 |
7 files changed, 161 insertions, 7 deletions
diff --git a/Make.rules b/Make.rules new file mode 100644 index 0000000..d9d9f25 --- /dev/null +++ b/Make.rules @@ -0,0 +1,30 @@ +USBREDIR_VERSION=0.0.1 + +# These ones can be overriden from the cmdline +CFLAGS = -g -O2 -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes +PREFIX = /usr/local +LIBDIR = $(PREFIX)/lib +SBINDIR = $(PREFIX)/sbin + +# These ones should not be overriden from the cmdline +override CPPFLAGS += -I../usbredirparser -I../usbredirhost +override LDFLAGS += -L../usbredirparser -L../usbredirhost +# This is the soname version for the various build libs +LIB_RELEASE = 0 + +# And last various rules +%.o: %.c + $(CC) -Wp,-MMD,"$*.d",-MQ,"$@",-MP -c $(CPPFLAGS) $(CFLAGS) -o $@ $< + +%.o: %.cpp + $(CXX) -Wp,-MMD,"$*.d",-MQ,"$@",-MP -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< + +%.so: + $(CC) -shared $(LDFLAGS) -Wl,-soname,$@.$(LIB_RELEASE) -o $@.$(LIB_RELEASE) $^ $(LIBS_$*) + ln -f -s $@.$(LIB_RELEASE) $@ + +%.a: + $(AR) cqs $@ $^ + +clean:: + rm -f core core.[0123456789]* *~ *.o *.d *.a *.so* DEADJOE *.orig *.rej $(TARGETS) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..572d486 --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +SUBDIRS = usbredirparser usbredirhost usbredirserver usbredirtestclient + +all install clean:: + for i in $(SUBDIRS); do \ + $(MAKE) -C $$i $@; \ + done + +include Make.rules diff --git a/compile.sh b/compile.sh deleted file mode 100755 index a0a2e59..0000000 --- a/compile.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -set -e - -gcc -g -O2 -Wall -I/usr/include/libusb-1.0 -o usbredirserver \ - usbredirserver.c usbredirhost.c usbredirparser.c -lusb-1.0 - -gcc -O2 -Wall -o usbredirtestclient usbredirtestclient.c usbredirparser.c diff --git a/usbredirhost/Makefile b/usbredirhost/Makefile new file mode 100644 index 0000000..b571bc0 --- /dev/null +++ b/usbredirhost/Makefile @@ -0,0 +1,50 @@ +override CPPFLAGS += $(shell pkg-config --cflags libusb-1.0) + +LIBS_libusbredirhost = -lusb-1.0 + +USBREDIRHOST_OBJS = usbredirhost.o +USBREDIRHOST_DEPS = $(USBREDIRHOST_OBJS) +TARGETS = $(USBREDIRHOST_LIB) libusbredirhost.pc +INCLUDES = usbredirhost.h + +ifeq ($(LINKTYPE),static) +USBREDIRHOST_LIB = libusbredirhost.a +else +USBREDIRHOST_LIB = libusbredirhost.so +USBREDIRHOST_DEPS += ../usbredirparser/libusbredirparser.so +override CPPFLAGS += -fPIC +endif + +all: $(TARGETS) + +-include $(USBREDIRHOST_OBJS:.o=.d) + +$(USBREDIRHOST_LIB): $(USBREDIRHOST_DEPS) + +libusbredirhost.pc: + @echo prefix=$(PREFIX) > libusbredirhost.pc + @echo libdir=$(LIBDIR) >> libusbredirhost.pc + @echo >> libusbredirhost.pc + @echo 'Name: libusbredirhost' >> libusbredirhost.pc + @echo 'Description: usbredirhost library' >> libusbredirhost.pc + @echo 'Version: '$(USBREDIR_VERSION) >> libusbredirhost.pc + @echo 'Requires.private: libusbredirparser' >> libusbredirhost.pc + @echo 'Libs: -L$${libdir} -lusbredirhost' >> libusbredirhost.pc + @echo 'Libs.private: -lusb-1.0' >> libusbredirhost.pc + @echo 'Cflags: -I$${prefix}/include' >> libusbredirhost.pc + +install: all + mkdir -p $(DESTDIR)$(PREFIX)/include + install -p -m 644 $(INCLUDES) $(DESTDIR)$(PREFIX)/include + mkdir -p $(DESTDIR)$(LIBDIR) +ifeq ($(LINKTYPE),static) + install -m 644 $(USBREDIRHOST_LIB) $(DESTDIR)$(LIBDIR) +else + install -m 755 $(USBREDIRHOST_LIB).$(LIB_RELEASE) $(DESTDIR)$(LIBDIR) + cd $(DESTDIR)$(LIBDIR) && \ + ln -f -s $(USBREDIRHOST_LIB).$(LIB_RELEASE) $(USBREDIRHOST_LIB) +endif + mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig + install -m 644 libusbredirhost.pc $(DESTDIR)$(LIBDIR)/pkgconfig + +include ../Make.rules diff --git a/usbredirparser/Makefile b/usbredirparser/Makefile new file mode 100644 index 0000000..61ce233 --- /dev/null +++ b/usbredirparser/Makefile @@ -0,0 +1,42 @@ +USBREDIRPARSER_OBJS = usbredirparser.o +TARGETS = $(USBREDIRPARSER_LIB) libusbredirparser.pc +INCLUDES = usbredirproto.h usbredirparser.h + +ifeq ($(LINKTYPE),static) +USBREDIRPARSER_LIB = libusbredirparser.a +else +USBREDIRPARSER_LIB = libusbredirparser.so +override CPPFLAGS += -fPIC +endif + +all: $(TARGETS) + +-include $(USBREDIRPARSER_OBJS:.o=.d) + +$(USBREDIRPARSER_LIB): $(USBREDIRPARSER_OBJS) + +libusbredirparser.pc: + @echo prefix=$(PREFIX) > libusbredirparser.pc + @echo libdir=$(LIBDIR) >> libusbredirparser.pc + @echo >> libusbredirparser.pc + @echo 'Name: libusbredirparser' >> libusbredirparser.pc + @echo 'Description: usbredirparser library' >> libusbredirparser.pc + @echo 'Version: '$(USBREDIR_VERSION) >> libusbredirparser.pc + @echo 'Libs: -L$${libdir} -lusbredirparser' >> libusbredirparser.pc + @echo 'Cflags: -I$${prefix}/include' >> libusbredirparser.pc + +install: all + mkdir -p $(DESTDIR)$(PREFIX)/include + install -p -m 644 $(INCLUDES) $(DESTDIR)$(PREFIX)/include + mkdir -p $(DESTDIR)$(LIBDIR) +ifeq ($(LINKTYPE),static) + install -m 644 $(USBREDIRPARSER_LIB) $(DESTDIR)$(LIBDIR) +else + install -m 755 $(USBREDIRPARSER_LIB).$(LIB_RELEASE) $(DESTDIR)$(LIBDIR) + cd $(DESTDIR)$(LIBDIR) && \ + ln -f -s $(USBREDIRPARSER_LIB).$(LIB_RELEASE) $(USBREDIRPARSER_LIB) +endif + mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig + install -m 644 libusbredirparser.pc $(DESTDIR)$(LIBDIR)/pkgconfig + +include ../Make.rules diff --git a/usbredirserver/Makefile b/usbredirserver/Makefile new file mode 100644 index 0000000..26639d4 --- /dev/null +++ b/usbredirserver/Makefile @@ -0,0 +1,18 @@ +override CPPFLAGS += $(shell pkg-config --cflags libusb-1.0) +LIBS = $(shell pkg-config --libs libusb-1.0) + +USBREDIRSERVER_OBJS = usbredirserver.o +TARGETS = usbredirserver + +all: $(TARGETS) + +-include *.d + +usbredirserver: $(USBREDIRSERVER_OBJS) + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) -lusbredirhost + +install: all + mkdir -p $(DESTDIR)$(SBINDIR) + install -m 755 usbredirserver $(DESTDIR)$(SBINDIR) + +include ../Make.rules diff --git a/usbredirtestclient/Makefile b/usbredirtestclient/Makefile new file mode 100644 index 0000000..6df1440 --- /dev/null +++ b/usbredirtestclient/Makefile @@ -0,0 +1,13 @@ +USBREDIRTESTCLIENT_OBJS = usbredirtestclient.o +TARGETS = usbredirtestclient + +all: $(TARGETS) + +-include *.d + +usbredirtestclient: $(USBREDIRTESTCLIENT_OBJS) + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) -lusbredirparser + +install: + +include ../Make.rules |