forked from gnuradio/gnuradio-livesdr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
129 lines (95 loc) · 2.37 KB
/
Makefile
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
-include ./.config
include config/config.vars
# Get rid of Kconfig quoted strings
UBUNTU_ISO_FILE_UNQ=$(shell echo $(UBUNTU_ISO_FILE))
all: config-test binary
deps:
@bin/install-deps
# Test required binaries are installed and executable
config-test:
@bin/config-test
##################
# Initialization #
##################
# Configuration
.PHONY: config
config:
kconfig-mconf config/Kconfig
# Download stock Ubuntu ISO image if needed
${UBUNTU_ISO_FILE_UNQ}:
@echo ${UBUNTU_ISO_FILE_UNQ}
@bin/get-stock-iso
stock: ${UBUNTU_ISO_FILE_UNQ}
# Mount stock Ubuntu ISO image and overlay
${ISOMNT_RO_SENTINEL}:
@bin/mount-iso
mount-iso: stock ${ISOMNT_RO_SENTINEL}
# Mount squashfs-based root filesystem and overlay
${ROOTFSMNT_RO_SENTINEL}:
@bin/mount-rootfs
mount-rootfs: mount-iso ${ROOTFSMNT_RO_SENTINEL}
${CHROOT_MNT_SENTINEL}:
@bin/mount-chroot
# Mount chroot system mounts
mount-chroot: mount-rootfs ${CHROOT_MNT_SENTINEL}
# Mount everything
mount: mount-chroot
#################
# Customization #
#################
# Interactive chroot for misc. tasks
chroot: mount
@bin/run-in-rootfs
# Run prepare job queue
prep: mount
@bin/prep.d-run-parts
# Run rootfs job queue
rootfs:
@bin/run-in-rootfs /root/live/bin/rootfs.d-run-parts
# Target for entire custom content generation
content: prep rootfs
###############
# Remastering #
###############
isofs: unmount-chroot
@bin/isofs.d-run-parts
# Build a new master image based on current overlays
binary: content isofs unmount
###########
# Cleanup #
###########
# Misc. cleanup of repository
clean:
@find bin/ -type f -name *~ -delete
@find config/ -type f -name *~ -delete
dist-clean: unmount clean
@rm -f config/install-pkgs.d/linux-tools
@rm -f ${ISO_DIR}/${REMASTER_NAME}
@rm -f ${ISO_DIR}/${UBUNTU_ISO_BASE}.tmp
@rm -f ${ISO_DIR}/SHA256SUM*
@rm -f ${ISO_DIR}/*.torrent
@rm -f ${ISO_DIR}/md5sums
@rm -f ${ISO_DIR}/sha256sums
@rm -f stamps/*.stamp
@sudo rm -rf ${RWMNT}/iso
@sudo rm -rf ${RWMNT}/rootfs
@sudo rm -rf tmp/*
really-clean: dist-clean
@sudo rm -rf ccache/*
@sudo rm -rf gitcache/*
# Unmount chroot jail mounts
unmount-chroot:
@bin/unmount-chroot
# Unmount root filesystem image
unmount-rootfs: unmount-chroot
@bin/unmount-rootfs
# Unmount Ubuntu ISO image
unmount-iso: unmount-rootfs
@bin/unmount-iso
# Unmount everything
unmount: unmount-iso
###########
# Testing #
###########
kvm:
@bin/run-in-kvm