]> mj.ucw.cz Git - libucw.git/blobdiff - sherlock/xml/Makefile
libsh installs
[libucw.git] / sherlock / xml / Makefile
index 3c70a9b025a37d44ce520fcb79cf12438eb5b0a4..73472c2dad240c495558f3b0149a4efef4958022 100644 (file)
@@ -2,18 +2,51 @@
 # (c) 2007 Pavel Charvat <pchar@ucw.cz>
 
 DIRS+=sherlock/xml
 # (c) 2007 Pavel Charvat <pchar@ucw.cz>
 
 DIRS+=sherlock/xml
+PROGS+=$(o)/sherlock/xml/xml-test
 
 
-LIBSH_MODS+=xml/xml
-LIBSH_XML_INCLUDES=xml/xml.h
+LIBSHXML_MODS=common source parse dtd
+LIBSHXML_INCLUDES=xml.h dtd.h
 
 
-$(o)/sherlock/xml/xml-t: $(LIBSH) $(LIBCHARSET)
-$(o)/sherlock/xml/xml.o: $(o)/sherlock/xml/xml-ucat.h
-$(o)/sherlock/xml/xml-ucat.h: $(s)/sherlock/xml/xml-ucat.pl
-       $(M)GEN $@
-       $(Q)$< >$@
+LIBSHXML_MOD_PATHS=$(addprefix $(o)/sherlock/xml/,$(LIBSHXML_MODS))
 
 
+$(o)/sherlock/xml/libshxml.a: $(addsuffix .o,$(LIBSHXML_MOD_PATHS))
+$(o)/sherlock/xml/libshxml.so: $(addsuffix .oo,$(LIBSHXML_MOD_PATHS))
+$(o)/sherlock/xml/libshxml.pc: $(LIBSH) $(LIBCHARSET)
+
+$(o)/sherlock/xml/common.o: $(o)/sherlock/xml/unicat.h
+$(o)/sherlock/xml/common.oo: $(o)/sherlock/xml/unicat.h
+$(o)/sherlock/xml/source.o: $(o)/sherlock/xml/unicat.h
+$(o)/sherlock/xml/source.oo: $(o)/sherlock/xml/unicat.h
+$(o)/sherlock/xml/dtd.o: $(o)/sherlock/xml/unicat.h
+$(o)/sherlock/xml/dtd.oo: $(o)/sherlock/xml/unicat.h
+$(o)/sherlock/xml/parse.o: $(o)/sherlock/xml/unicat.h
+$(o)/sherlock/xml/parse.oo: $(o)/sherlock/xml/unicat.h
+$(o)/sherlock/xml/unicat.h: $(s)/sherlock/xml/unicat.pl
+       $(M)GEN $(addprefix $(o)/sherlock/xml/unicat,.h .c)
+       $(Q)$< $(addprefix $(o)/sherlock/xml/unicat,.h .c)
+       $(Q)touch $@
+
+TESTS+=$(o)/sherlock/xml/xml-test.test
+$(o)/sherlock/xml/xml-test: $(o)/sherlock/xml/xml-test.o $(LIBSHXML)
+$(o)/sherlock/xml/xml-test.test: $(o)/sherlock/xml/xml-test
+
+API_LIBS+=libshxml
 API_INCLUDES+=$(o)/sherlock/xml/.include-stamp
 API_INCLUDES+=$(o)/sherlock/xml/.include-stamp
-$(o)/sherlock/xml/.include-stamp: $(addprefix $(s)/sherlock/xml/,$(LIBSH_XML_INCLUDES))
+$(o)/sherlock/xml/.include-stamp: $(addprefix $(s)/sherlock/xml/,$(LIBSHXML_INCLUDES))
 $(o)/sherlock/xml/.include-stamp: IDST=sherlock/xml
 $(o)/sherlock/xml/.include-stamp: IDST=sherlock/xml
+run/lib/pkgconfig/libshxml.pc: $(o)/sherlock/xml/libshxml.pc
+
+ifdef CONFIG_SHARED
+LIBSHXML_NAME=libshxml.so
+else
+LIBSHXML_NAME=libshxml.a
+endif
+
+INSTALL_TARGETS+=install-sh-xml
+install-sh-xml:
+       install -d -m 755 $(DESTDIR)$(INSTALL_INCLUDE_DIR)/sherlock/xml $(DESTDIR)$(INSTALL_LIB_DIR) $(DESTDIR)$(INSTALL_PKGCONFIG_DIR)
+       install -m 644 $(addprefix run/include/sherlock/xml/,$(LIBSHXML_INCLUDES)) $(DESTDIR)$(INSTALL_INCLUDE_DIR)/sherlock/xml
+       install -m 644 run/lib/pkgconfig/libshxml.pc $(DESTDIR)$(INSTALL_PKGCONFIG_DIR)
+       install -m 644 run/lib/$(LIBSHXML_NAME) $(DESTDIR)$(INSTALL_LIB_DIR)
 
 
-include $(s)/sherlock/perl/Makefile
+.PHONY: install-sh-xml