blob: 1d67aa70d6b6fb57c7b3de6a2b526f04aa3d2c82 (
plain)
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
|
prefix?=/usr/local
cc_files=wait_for_files samizdat-pinentry
cpp_files=dynmenu
compiled_programs=${cc_files} ${cpp_files}
CC=gcc -std=gnu99
CFLAGS=-Os
all: samizdat-paths.sh ${compiled_programs}
dynmenu: src/dynmenu.cpp
$(CXX) $(CFLAGS) $< -o $@ -lcurses
samizdat-pinentry: src/samizdat-pinentry.c
$(CC) $(CFLAGS) $< -o $@ -lcurses
wait_for_files: src/wait_for_files.c
$(CC) $(CFLAGS) $< -o $@
bin_programs=$(addprefix src/, xorriso-usb.sh btrfs-functions.sh btrfs-receive-root.sh btrfs-send-root.sh var.sh grub-efi.sh keygen.sh initrd.sh qemu.sh dnsmasq-dhcp-script.sh samizdat-password-agent samizdat-gpg-agent publish-ip.sh selfstrap) samizdat-paths.sh ${cc_files} ${btrfs_utils}
btrfs_utils=$(addprefix src/btrfs-utils/, btarfs btrfs-shrink with-btrfs-seed)
initrd_files:=$(wildcard src/initrd/*) dynmenu samizdat-pinentry wait_for_files
initramfs_conf_files:=$(wildcard initramfs-tools/*)
isolinux_files:=$(wildcard isolinux/*)
clean:
rm -f samizdat-paths.sh ${compiled_programs}
.PHONY: samizdat-paths.sh all clean
samizdat-paths.sh: src/samizdat-paths.in
@sed -e "s?PREFIX?$(prefix)?g" $< > $@
include samizdat-paths.sh
install-configuration:
ifndef instdir
$(error "You must specify instdir, for safety.")
else
install -DT conf/dnsmasq.conf ${instdir}/etc/dnsmasq.conf
install -DT conf/interfaces.d_eth0 ${instdir}/etc/network/interfaces.d/eth0
install -DT conf/network_if-up.d_samizdat ${instdir}/etc/network/if-up.d/samizdat
install -DT conf/postfix_main.cf ${instdir}/etc/postfix/main.cf
install -DT conf/torrc ${instdir}/etc/tor/torrc
ln -sf /var/cache/kiki/config/tor/hostname ${instdir}/etc/mailname
ln -sf /var/cache/kiki/config/tor/hostname ${instdir}/etc/hostname
endif
fsmgr := $(shell which fsmgr)
rootfs:
cd fsmgr/samizdat && sudo $(fsmgr) build samizdat
boot: rootfs
sudo qemu.sh
install: ${bin_programs} samizdat-paths.sh ${compiled_programs}
install ${bin_programs} ${instdir}${samizdat_bindir}
mkdir -p ${instdir}${samizdat_initrd_files_dir}
mkdir -p ${instdir}${samizdat_child_dir}
mkdir -p ${instdir}${samizdat_grub_efi_dir}
mkdir -p ${instdir}${samizdat_initramfs_conf_dir}
mkdir -p ${instdir}${samizdat_isolinux_dir}
mkdir -p ${instdir}${samizdat_linux_dir}
cp -r ${initrd_files} ${instdir}${samizdat_initrd_files_dir}
cp -r ${initramfs_conf_files} ${instdir}${samizdat_initramfs_conf_dir}
cp -r ${isolinux_files} ${instdir}${samizdat_isolinux_dir}
|