#all:html cmd header
#all:init allcmd allheader allhtml vconf-internal-keys.pc
#all:init allcmd allheader allhtml allwrapper
#all:init allcmd allhtml allheader allwrapper allwrapper_impl vconf-internal-keys.h endproc
#all:init allcmd postproc allhtml allheader vconf-internal-keys.h endproc
all:init allcmd allhtml allheader vconf-internal-keys.h endproc
allcmd: $(shell find . -name "*.xml" | sort | sed 's/xml/sh/')
#allcmd2: $(shell find . -name "*.xml" | sed 's/xml/sh2/')
allheader: $(shell find . -name "*.xml" | sort | sed 's/xml/h/')
allhtml: $(shell find . -name "*.xml" | sort | sed 's/xml/html/')
#allwrapper: $(shell find . -name "*.xml" | sed 's/.xml/_wrapper.h/')
#allwrapper_impl: $(shell find . -name "*.xml" | sed 's/.xml/_wrapper.c/')
MODEL=$(model)
XMLS=$(wildcard data/*.xml)
check:
echo $(XMLS)
$(foreach var, $(XMLS), xmllint --noout --schema check.xsd $(var) || exit;)
ifneq ($(profile), )
xsltopt = --stringparam profile $(profile)
else
xsltopt = --stringparam profile ''
endif
ifneq ($(model), )
xsltopt += --stringparam target $(MODEL)
else
xsltopt += --stringparam target ''
endif
init:
@mkdir -p report
@mkdir -p scripts
@mkdir -p include
@find scripts -name "*.sh" -exec rm {} \;
@find data -name "*.sh" -exec rm {} \;
# if [ -a ./scripts/all.sh ]; \
# then \
# rm ./scripts/all.sh; \
# fi;
cp all.sh.in ./scripts/all.sh
%.html:%.xml
xsltproc $(xsltopt) test_report.xsl $< > $@
mv $@ ./report
%.sh:%.xml
xsltproc $(xsltopt) create_cmd.xsl $< | sed '/^$$/d' > $@
cat $@ >> ./scripts/all.sh
rm $@
xsltproc $(xsltopt) create_init_script.xsl $< | sed '/^$$/d' > $@
if [ -s $@ ]; then mv $@ ./scripts; fi
#%.sh2:%.xml
# xsltproc $(xsltopt) create_init_script.xsl $< | sed '/^$$/d' > $@
# if [ -s $@ ]; then mv $@ ./scripts; fi
%.h:%.xml
xsltproc $(xsltopt) create_header.xsl $< | sed '/^$$/d' > $@
mv $@ ./include
#%_wrapper.h:%.xml
# xsltproc $(xsltopt) create_wrapper.xsl $< | sed '/^$$/d' > $@
# xsltproc $(xsltopt) create_wrapper.xsl $< | sed '/^$$/d' > $@
# mv $@ ./include
#%_wrapper.c:%.xml
# xsltproc $(xsltopt) create_wrapper.xsl $< | sed '/^$$/d' | indent > $@
# xsltproc $(xsltopt) create_wrapper_impl.xsl $< | sed '/^$$/d' > $@
# sed -i '21 i #include \' $@
# sed -i '22 i #include "vconf-internal-keys.h"' $@
# sed -i '23i\\' $@
# mv $@ ./wrapper
vconf-internal-keys.h:
echo "#ifndef __VCONF_INTERNAL_KEYS_H__" > include/vconf-internal-keys.h
echo "#define __VCONF_INTERNAL_KEYS_H__" >> include/vconf-internal-keys.h
find ./include -name "*.h" -not -name "vconf-internal-keys.h" -printf "#include \"%f\" \n" | sort >> include/vconf-internal-keys.h
echo "#endif /* __VCONF_INTERNAL_KEYS_H__ */" >> include/vconf-internal-keys.h
clean:
#@rm -rf report scripts include *.pc
@rm -rf report scripts include
@find . -name "*.html" -print0 | xargs -0 -r rm
@rm data/vconf-*.sh
@find . -name "*.h" -print0 | xargs -0 -r rm
endproc:
./remove_whitespace.sh
#vconf-internal-keys.pc:vconf-internal-keys.pc.in
# sed -e 's/@PREFIX@/hello/' -e 's/@LIBDIR@/hello/' -e 's/@EXEC_PREFIX@/hello/' -e 's/@INCLUDEDIR@/hello/' -e 's/@VERSION@/hello/' vconf-internal-keys.pc.in > vconf-internal-keys.pc
install:
# cp cmd.sh /opt/usr
# cp ${INSTALL_ROOT}/scripts/*.sh ${INSTALL_ROOT}/opt/usr