aboutsummaryrefslogtreecommitdiff
path: root/makefile
blob: 3bfd896eda3e1c73f4a713c678d0e9c13ef809e4 (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
# read environment variables from ./env
include ./env
export

CTR := sudo -n podman
MOUNT := sudo -n mount
UMOUNT := sudo -n umount
CP := sudo -n cp
GIT := git

CTR_IMG_TAG := avans-linux
CTRIZE := $(CTR) run --rm --interactive --tty --volume .:/workdir:rw --user $(shell id -u):$(shell id -g) --env-file ./env $(CTR_IMG_TAG)

.PHONY: all
all: os_bootloader

.PHONY: container_img
container_img: Containerfile
	$(CTR) build --tag $(CTR_IMG_TAG) .

# this list holds the .git files in each submodule folder (add
# $(SUBMODULE_INIT) as prerequisite to require the submodules to exist)
SUBMODULE_INIT += ./u-boot/.git
$(SUBMODULE_INIT):
	$(GIT) submodule init
	$(GIT) submodule update

MKFLAGS += -j $(shell nproc)

.PHONY: os_bootloader
os_bootloader: container_img $(SUBMODULE_INIT)
	$(CTRIZE) make -C u-boot $(MKFLAGS) am335x_evm_config
	$(CTRIZE) make -C u-boot $(MKFLAGS)

# sd card block device (assumed partition numbers, see readme.md)
SDCARD_BD := $(shell realpath /dev/disk/by-id/usb-Generic-_Multi-Card_20071114173400000-0:0)
load_bootloader: $(os_bootloader)
	mkdir -p /tmp/sdcard-boot
	$(MOUNT) $(SDCARD_BD)1 /tmp/sdcard-boot
	$(CP) u-boot/MLO u-boot/u-boot.img u-boot/u-boot.dtb /tmp/sdcard-boot
	$(UMOUNT) $(SDCARD_BD)1