-SUBDIRS= base adns hbytes cdb crypto
-# dgram tuntap
+SUBDIRS= base adns hbytes cdb crypto dgram
+
+ifneq ($(wildcard /usr/include/linux/if_tun.h),)
+SUBDIRS+= tuntap
+endif
+
+ifneq ($(wildcard /usr/include/wiringPi.h /usr/include/arm-*/wiringPi.h),)
+SUBDIRS+= wiringpi
+endif
default: all
-clean all:
+clean all debian-substvars:
set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
# To find undefined symbols when implementing, for example:
#
-# liberator:cdb> ld /usr/bin/tclsh8.3 ../base/chiark-tcl.so ../hbytes/chiark_tcl_hbytes.so ../cdb/chiark_tcl_cdb.so -ltcl8.3
-# ld: warning: cannot find entry symbol _start; defaulting to 00000000080486ac
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdbwr_delete'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdbwr_lookup_hb'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdbwr_open_okjunk'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdb_lookup_hb'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdbwr_lookup'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdb_close'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdb_lookup'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdbtoplevel_cdb'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdbwr_update_hb'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdb_open'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdbwr_update'
-# ../cdb/chiark_tcl_cdb.so: undefined reference to `cht_do_cdbtoplevel_cdb_wr'
-# Segmentation fault
-# liberator:cdb>
+# liberator:chiark-tcl> LD_LIBRARY_PATH=:adns:base:cdb:crypto:dgram:hbytes:tuntap tclsh8.3
+# % load chiark_tcl_tuntap-1.so
+# couldn't load file "chiark_tcl_tuntap-1.so": tuntap/chiark_tcl_tuntap-1.so: undefined symbol: cht_tunsocket_entries
+# %