]> Git Repo - qemu.git/blobdiff - libcacard/Makefile
Merge remote-tracking branch 'kraxel/usb.54' into staging
[qemu.git] / libcacard / Makefile
index 9802c37ee8d7a50e773de598a22798c84878cefe..63990b70036e536880c34874f5d7f0ddca1f13b6 100644 (file)
@@ -2,26 +2,25 @@
 -include $(SRC_PATH)/Makefile.objs
 -include $(SRC_PATH)/rules.mak
 
-$(call set-vpath, $(SRC_PATH):$(SRC_PATH)/libcacard)
+libcacard_includedir=$(includedir)/cacard
 
-# objects linked against normal qemu binaries, not compiled with libtool
-QEMU_OBJS=$(addprefix ../,$(oslib-obj-y) qemu-malloc.o qemu-timer-common.o $(trace-obj-y))
+$(call set-vpath, $(SRC_PATH))
 
 # objects linked into a shared library, built with libtool with -fPIC if required
-QEMU_OBJS_LIB=$(addsuffix .lo,$(basename $(QEMU_OBJS)))
+QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o $(trace-obj-y)
+QEMU_OBJS_LIB=$(patsubst %.o,%.lo,$(QEMU_OBJS))
 
 QEMU_CFLAGS+=-I../
 
-libcacard.lib-y=$(addsuffix .lo,$(basename $(libcacard-y)))
-
-vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o
-       $(call quiet-command,$(CC) $(libcacard_libs) -lrt -o $@ $^,"  LINK  $@")
+libcacard.lib-y=$(patsubst %.o,%.lo,$(libcacard-y))
 
 clean:
-       rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~ vscclient *.lo .libs/* *.la
-       rm -Rf .libs
+       rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~ vscclient *.lo */*.lo .libs/* */.libs/* *.la */*.la *.pc
+       rm -Rf .libs */.libs
 
-all: vscclient
+all: libcacard.la libcacard.pc
+# Dummy command so that make thinks it has done something
+       @true
 
 #########################################################################
 # Rules for building libcacard standalone library
@@ -34,9 +33,28 @@ install-libcacard:
        @echo "libtool is missing, please install and rerun configure"; exit 1
 else
 libcacard.la: $(libcacard.lib-y) $(QEMU_OBJS_LIB)
-       $(call quiet-command,libtool --mode=link --quiet --tag=CC $(CC) $(libcacard_libs) -lrt -rpath $(libdir) -o $@ $^,"  lt LINK $@")
+       $(call quiet-command,$(LIBTOOL) --mode=link --quiet --tag=CC $(CC) -rpath $(libdir) -o $@ $^ $(libcacard_libs),"  lt LINK $@")
+
+libcacard_srcpath=$(SRC_PATH)/libcacard
+libcacard.pc: $(libcacard_srcpath)/libcacard.pc.in
+       $(call quiet-command,sed -e 's|@LIBDIR@|$(libdir)|' \
+               -e 's|@INCLUDEDIR@|$(libcacard_includedir)|' \
+           -e 's|@VERSION@|$(shell cat $(SRC_PATH)/VERSION)|' \
+               -e 's|@PREFIX@|$(prefix)|' \
+               < $(libcacard_srcpath)/libcacard.pc.in > libcacard.pc,\
+       "  GEN   $@")
+
+.PHONY: install-libcacard
 
-install-libcacard: libcacard.la
+install-libcacard: libcacard.pc libcacard.la vscclient
        $(INSTALL_DIR) "$(DESTDIR)$(libdir)"
-       libtool --mode=install $(INSTALL_PROG) libcacard.la "$(DESTDIR)$(libdir)"
+       $(INSTALL_DIR) "$(DESTDIR)$(libdir)/pkgconfig"
+       $(INSTALL_DIR) "$(DESTDIR)$(libcacard_includedir)"
+       $(INSTALL_DIR) "$(DESTDIR)$(bindir)"
+       $(LIBTOOL) --mode=install $(INSTALL_PROG) vscclient "$(DESTDIR)$(bindir)"
+       $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.la "$(DESTDIR)$(libdir)"
+       $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.pc "$(DESTDIR)$(libdir)/pkgconfig"
+       for inc in *.h; do \
+               $(LIBTOOL) --mode=install $(INSTALL_DATA) $(libcacard_srcpath)/$$inc "$(DESTDIR)$(libcacard_includedir)"; \
+       done
 endif
This page took 0.024118 seconds and 4 git commands to generate.