1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
wrappedso_DATA = libapol_tcl.so
wrappedso_SONAME = $(wrappedso_DATA)
wrappedsodir = $(libdir)/setools/apol_tcl
package_SCRIPTS = pkgIndex.tcl
packagedir = $(wrappedsodir)
bin_SCRIPTS = apol
dist_noinst_DATA = apol_tcl.i apol_tcl.cc apol.png foo_module.tcl
BUILT_SOURCES = apol_tcl_wrap.cc mkIndex.tcl init.tcl
dist_setools_DATA = apol_help.txt domaintrans_help.txt file_relabel_help.txt \
infoflow_help.txt types_relation_help.txt \
perm_maps/apol_perm_mapping_ver12 \
perm_maps/apol_perm_mapping_ver15 \
perm_maps/apol_perm_mapping_ver16 \
perm_maps/apol_perm_mapping_ver17 \
perm_maps/apol_perm_mapping_ver18 \
perm_maps/apol_perm_mapping_ver19 \
perm_maps/apol_perm_mapping_ver20 \
perm_maps/apol_perm_mapping_ver21 \
perm_maps/apol_perm_mapping_ver22 \
perm_maps/apol_perm_mapping_ver23 \
perm_maps/apol_perm_mapping_ver24 \
apol.gif
EXTRA_DIST = \
analysis_tab.tcl \
classes_perms_tab.tcl \
common_widgets.tcl \
cond_bools_tab.tcl \
cond_rules_tab.tcl \
context_dialog.tcl \
context_selector.tcl \
directflow_module.tcl \
domaintrans_module.tcl \
file_contexts_tab.tcl \
find.tcl \
fscontexts_tab.tcl \
goto.tcl \
head.tcl \
initial_sids_tab.tcl \
level_dialog.tcl \
mls_tab.tcl \
netcontexts_tab.tcl \
open_policy_dialog.tcl \
perms_map.tcl \
policyconf.tcl \
progress_dialog.tcl \
range_dialog.tcl \
range_selector.tcl \
range_trans.tcl \
rbac_tab.tcl \
relabel_module.tcl \
roles_tab.tcl \
terules_tab.tcl \
transflow_module.tcl \
types_relation_module.tcl \
types_tab.tcl \
users_tab.tcl \
util.tcl \
top.tcl
# top.tcl must be last one written because it spawns the rest of the script
TCL_STRIP_FILES = $(patsubst %,$(srcdir)/%,$(filter-out head.tcl,$(EXTRA_DIST)))
DEPENDENCIES = $(top_builddir)/libqpol/src/libqpol.so \
$(top_builddir)/libapol/src/libapol.so \
$(top_builddir)/libsefs/src/libsefs.so \
$(top_builddir)/libqpol/swig/tcl/libtqpol.so \
$(top_builddir)/libapol/swig/tcl/libtapol.so \
$(top_builddir)/libsefs/swig/tcl/libtsefs.so \
$(top_builddir)/config.tcl
AM_CXXFLAGS = @DEBUGCXXFLAGS@ @WARNCXXFLAGS@ @PROFILECFLAGS@ @SELINUX_CFLAGS@ \
@SEFS_CFLAGS@ @APOL_CFLAGS@ @QPOL_CFLAGS@ -I$(top_builddir) -fPIC \
-I$(top_srcdir)/libapol/include
AM_LDFLAGS = @DEBUGLDFLAGS@ @WARNLDFLAGS@ @PROFILELDFLAGS@ \
@SEFS_LIB_FLAG@ @APOL_LIB_FLAG@ @QPOL_LIB_FLAG@
apol_tcl_wrap.cc: apol_tcl.i $(DEPENDENCIES)
$(SWIG) -c++ $(SWIG_TCL_OPT) -pkgversion @libapol_version@ -o $@ \
-I$(top_srcdir)/libsefs/include -I$(top_srcdir)/libsefs/swig \
-I$(top_srcdir)/libapol/include -I$(top_srcdir)/libapol/swig \
-I$(top_srcdir)/libqpol/swig $<
$(wrappedso_DATA): apol_tcl.cc apol_tcl_wrap.cc
$(CXX) -shared -o $@ $^ $(AM_CXXFLAGS) $(CXXFLAGS) $(SWIG_TCL_CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
$(package_SCRIPTS): $(wrappedso_DATA) mkIndex.tcl
cat mkIndex.tcl | LD_LIBRARY_PATH=$(top_builddir)/libqpol/src:$(top_builddir)/libapol/src:$(top_builddir)/libsefs/src $(TCLSH_PROG)
$(mkdir_p) apol_tcl
cp $< $@ apol_tcl
mkIndex.tcl: $(wrappedso_DATA) Makefile
@echo "lappend auto_path $(top_builddir)/libapol/swig/tcl $(top_builddir)/libsefs/swig/tcl" > $@
@echo "package require apol" >> $@
@echo "package require sefs" >> $@
@echo "pkg_mkIndex . $<" >> $@
TCL_AUTOPATH = @TCL_AUTOPATH@
init.tcl: Makefile
@echo "proc tcl_config_init_libraries {} {" > $@
@echo " global auto_path" >> $@
@echo " lappend auto_path $(TCL_AUTOPATH)" >> $@
@echo " print_init \"Initializing libqpol... \"" >> $@
@echo " package require qpol @libqpol_version@" >> $@
@echo " print_init \"done.\nInitializing libapol... \"" >> $@
@echo " package require apol @libapol_version@" >> $@
@echo " print_init \"done.\nInitializing libsefs... \"" >> $@
@echo " package require sefs @libsefs_version@" >> $@
@echo " print_init \"done.\nInitializing libapol_tcl... \"" >> $@
@echo " package require apol_tcl @libapol_version@" >> $@
@echo " print_init \"done.\n\"" >> $@
@echo "}" >> $@
@echo "proc tcl_config_get_install_dir {} {" >> $@
@echo " return \"${setoolsdir}\"" >> $@
@echo "}" >> $@
$(bin_SCRIPTS): $(package_SCRIPTS) head.tcl init.tcl $(top_builddir)/config.tcl $(TCL_STRIP_FILES)
cat $(srcdir)/head.tcl init.tcl $(top_builddir)/config.tcl > $@
cat $(TCL_STRIP_FILES) | perl -p -i -e 's/^\s*(\#[^!]*){0,1}$$//s' >> $@
chmod u+x $@
%.tcl:
# do nothing
CLEANFILES = $(packages_SCRIPTS) $(bin_SCRIPTS) $(BUILT_SOURCES)
MOSTLYCLEANFILES = $(wrappedso_DATA) $(package_SCRIPTS) apol_tcl/$(wrappedso_DATA) apol_tcl/$(package_SCRIPTS)
|