Makefile 1.27 KB
Newer Older
ifeq ($(ARCH),)
 ARCH = $(shell gcc -dumpmachine)
else
 ifeq ($(OS),Windows_NT)
   ARCH=msvc
 endif
endif

outdir=certificates
in=profiles
xerdir=xer
depdir=temp
keydir=certificates

ifeq ($(ARCH),msvc)
  asn1certgen=../../tools/itscertgen/build/msvc/x64/Debug/asn1certgen.exe
else
  asn1certgen=../../tools/itscertgen/build/$(ARCH)-d/asn1certgen.exe
endif

xsl_cvt=../../tools/itscertgen/asn1certgen/asn1certgen.xslt
xsl_dep=../../tools/itscertgen/asn1certgen/prof2dep.xsl

profiles=$(wildcard $(in)/*.xml)
certificates_oer=$(patsubst $(in)/%.xml, $(outdir)/%.oer, $(profiles))
certificates_xer=$(patsubst $(in)/%.xml, $(xerdir)/%.xer, $(profiles))
deps=$(patsubst $(in)/%.xml, $(depdir)/%.dep, $(profiles))

all: $(sort $(outdir) $(xerdir) $(depdir)) $(certificates_oer)

$(sort $(outdir) $(xerdir) $(depdir)):
	mkdir -p $@
clean:
	rm -f $(certificates_oer) $(certificates_xer)

$(certificates_xer): $(xerdir)/%.xer : $(in)/%.xml
	xsltproc $(xsl_cvt) $< | xmllint --format -o $@ -

$(certificates_oer): $(outdir)/%.oer : $(xerdir)/%.xer 
	$(asn1certgen) -o $(outdir) -K $(keydir) $<

$(deps): $(depdir)/%.dep : $(in)/%.xml
	-mkdir -p $(depdir)
	xsltproc --param profile "'$*'" -o $@ $(xsl_dep) $<

$(certificates_xer) : $(xsl_cvt)

include $(deps)