summaryrefslogtreecommitdiffstats
path: root/docs/infrastructure/xci.rst
blob: fe4eaf9de30a825b64773cfe215ce226b6b927a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.. _xci:

.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
.. (c) Open Platform for NFV Project, Inc. and its contributors

============================================
Cross Community Continuous Integration - XCI
============================================

Please see the details of XCI from the chapters below.

- :ref:`XCI Overview <xci-overview>`
- :ref:`XCI Way of Working <xci-wow>`
- :ref:`XCI Sandbox and User Guide <xci-user-guide>`
- :ref:`XCI Developer Guide <xci-developer-guide>`
0; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
mandir = @mandir@

CC = @CC@
CFLAGS  = @CFLAGS@ \
	@GLIB_CFLAGS@ \
	@GMP_CFLAGS@ \
	@PBC_CFLAGS@ \
	@BSWABE_CFLAGS@ \
	@DEFS@
LDFLAGS = @LDFLAGS@ \
	@GLIB_LIBS@ \
	@PBC_LIBS@ \
	@BSWABE_LIBS@ \
	@GMP_LIBS@ \
	@LIBS@

DISTNAME = @PACKAGE_TARNAME@-@PACKAGE_VERSION@

TARGETS  = cpabe-setup   cpabe-enc   cpabe-keygen   cpabe-dec	cpabe-policyList   cpabe-attrList   peks-ind   peks-test   peks-trap
DEVTARGS = test-lang TAGS

MANUALS  = $(TARGETS:=.1)
HTMLMANS = $(MANUALS:.1=.html)

all: $(TARGETS) $(DEVTARGS)

# user-level compilation

cpabe-setup: setup.o common.o
	$(CC) -o $@ $^ $(LDFLAGS)

cpabe-enc: enc.o common.o policy_lang.o
	$(CC) -o $@ $^ $(LDFLAGS)

cpabe-keygen: keygen.o common.o policy_lang.o
	$(CC) -o $@ $^ $(LDFLAGS)

cpabe-dec: dec.o common.o
	$(CC) -o $@ $^ $(LDFLAGS)

cpabe-policyList: policyList.o common.o
	$(CC) -o $@ $^ $(LDFLAGS)

cpabe-attrList: attrList.o common.o
	$(CC) -o $@ $^ $(LDFLAGS)

peks-ind: ind.o common.o 
	$(CC) -o $@ $^ $(LDFLAGS)

peks-test: indTest.o common.o 
	$(CC) -o $@ $^ $(LDFLAGS)

peks-trap: trap.o common.o 
	$(CC) -o $@ $^ $(LDFLAGS)

test-lang: test-lang.o common.o policy_lang.o
	$(CC) -o $@ $^ $(LDFLAGS)

%.o: %.c *.h Makefile
	$(CC) -c -o $@ $< $(CFLAGS)

# installation

dist: *.y policy_lang.c *.c *.h *.more-man \
	AUTHORS COPYING INSTALL NEWS README $(MANUALS) \
	aclocal.m4 acinclude.m4 configure configure.ac install-sh Makefile.in \
	missing mkinstalldirs
	rm -rf $(DISTNAME)
	mkdir $(DISTNAME)
	cp $^ $(DISTNAME)
	tar zc $(DISTNAME) > $(DISTNAME).tar.gz
	rm -rf $(DISTNAME)

install: $(TARGETS) $(MANUALS)
	$(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(bindir)
	$(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(mandir)
	$(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(mandir)/man1
	for PROG in $(TARGETS); \
	do \
	  $(top_srcdir)/install-sh -m 755 $$PROG   $(DESTDIR)$(bindir); \
	  $(top_srcdir)/install-sh -m 644 $$PROG.1 $(DESTDIR)$(mandir)/man1; \
	done

uninstall:
	for PROG in $(TARGETS); \
	do \
	  /bin/rm -f $(DESTDIR)$(bindir)/$$PROG; \
	  /bin/rm -f $(DESTDIR)$(mandir)/man1/$$PROG.1; \
	done

# developer-level processing and meta stuff

%.c: %.y *.h Makefile
	if which bison 2> /dev/null; then \
	   bison -o $@ $<; \
	fi

%.1: % %.more-man
	if which help2man 2> /dev/null; then \
	   help2man --section=1 --source="SRI International" --no-info \
	            -I $<.more-man -o $@ ./$<; \
	fi

%.html: %.1
	groff -man -Thtml $< > $@

html: $(HTMLMANS)

TAGS: *.c *.h *.y
	@(etags $^ || true) 2> /dev/null

Makefile: Makefile.in config.status
	./config.status

config.status: configure
	./config.status --recheck

configure: configure.ac aclocal.m4 acinclude.m4
	autoconf

# cleanup

# remove everything an installing user can rebuild
clean:
	rm -f *.o $(TARGETS) $(DEVTARGS) *.tar.gz pub_key master_key priv_key enc_ind *~

# remove everything a package developer can rebuild
distclean: clean
	rm -rf policy_lang.c autom4te.cache Makefile config.status config.log config.cache \
		configure configure.scan autoscan*.log *.1 *.html *.lineno