mirror of
https://github.com/OpenVoiceOS/OpenVoiceOS
synced 2025-04-26 08:08:41 +02:00
MycroftOS: BNuilding now uses a proper Makefile.
- Big thx once again to the HassOS guys.
This commit is contained in:
parent
f45287d34d
commit
8b826c72fd
43
Makefile
Normal file
43
Makefile
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
RELEASE_DIR = release
|
||||||
|
|
||||||
|
BUILDROOT=buildroot
|
||||||
|
BUILDROOT_EXTERNAL=buildroot-external
|
||||||
|
DEFCONFIG_DIR = $(BUILDROOT_EXTERNAL)/configs
|
||||||
|
|
||||||
|
TARGETS := $(notdir $(patsubst %_defconfig,%,$(wildcard $(DEFCONFIG_DIR)/*_defconfig)))
|
||||||
|
TARGETS_CONFIG := $(notdir $(patsubst %_defconfig,%-config,$(wildcard $(DEFCONFIG_DIR)/*_defconfig)))
|
||||||
|
|
||||||
|
.NOTPARALLEL: $(TARGETS) $(TARGETS_CONFIG) all
|
||||||
|
|
||||||
|
.PHONY: $(TARGETS) $(TARGETS_CONFIG) all clean help
|
||||||
|
|
||||||
|
all: $(TARGETS)
|
||||||
|
|
||||||
|
$(RELEASE_DIR):
|
||||||
|
mkdir -p $(RELEASE_DIR)
|
||||||
|
|
||||||
|
$(TARGETS_CONFIG): %-config:
|
||||||
|
@echo "config $*"
|
||||||
|
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) "$*_defconfig"
|
||||||
|
|
||||||
|
$(TARGETS): %: $(RELEASE_DIR) %-config
|
||||||
|
@echo "build $@"
|
||||||
|
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) 2>&1 | tee logs/buildroot_output.txt
|
||||||
|
cp -f $(BUILDROOT)/output/images/sdcard.img $(RELEASE_DIR)/MycroftOS_$@.img
|
||||||
|
|
||||||
|
# Do not clean when building for one target
|
||||||
|
ifneq ($(words $(filter $(TARGETS),$(MAKECMDGOALS))), 1)
|
||||||
|
@echo "clean $@"
|
||||||
|
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) clean
|
||||||
|
endif
|
||||||
|
@echo "finished $@"
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(MAKE) -C $(BUILDROOT) BR2_EXTERNAL=../$(BUILDROOT_EXTERNAL) clean
|
||||||
|
|
||||||
|
help:
|
||||||
|
@echo "Supported targets: $(TARGETS)"
|
||||||
|
@echo "Run 'make <target>' to build a target image."
|
||||||
|
@echo "Run 'make all' to build all target images."
|
||||||
|
@echo "Run 'make clean' to clean the build output."
|
||||||
|
@echo "Run 'make <target>-config' to configure buildroot for a target."
|
@ -17,9 +17,15 @@ If this is the very first time you are going to build an image, you need to exec
|
|||||||
This will patch the Buildroot packages.
|
This will patch the Buildroot packages.
|
||||||
|
|
||||||
## Building the image.
|
## Building the image.
|
||||||
We can build the image(s) by running the following command;
|
Building the image(s) can be done by utilizing a proper Makefile;
|
||||||
<br>
|
<br>
|
||||||
- ./scripts/build.sh
|
To see the available commands, just run: 'make help'
|
||||||
<br>
|
<br>
|
||||||
At this moment only one image get's build. Namely the one for RPi3. Later on in time this section will get expanded with other possible supported hardware.
|
As example to build the rpi3 version;<br>
|
||||||
|
make clean<br>
|
||||||
|
make rpi3-config<br>
|
||||||
|
make rpi3<br>
|
||||||
|
<br>
|
||||||
|
To build all available buids, run;<br>
|
||||||
|
make all
|
||||||
|
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
mkdir -p release
|
|
||||||
mkdir -p logs
|
|
||||||
|
|
||||||
all_platforms=(rpi3)
|
|
||||||
for platform in "${all_platforms[@]}"; do
|
|
||||||
make -C buildroot BR2_EXTERNAL=../buildroot-external clean
|
|
||||||
make -C buildroot BR2_EXTERNAL=../buildroot-external mycroftos_${platform}_defconfig
|
|
||||||
|
|
||||||
# Optional if you need to change stuff, uncomment the next line.
|
|
||||||
# make -C buildroot BR2_EXTERNAL=../buildroot-external menuconfig
|
|
||||||
|
|
||||||
make -C buildroot BR2_EXTERNAL=../buildroot-external 2>&1 | tee logs/buildroot_output.txt
|
|
||||||
cp -f buildroot/output/images/sdcard.img release/MycroftOS_${platform}.img
|
|
||||||
done
|
|
Loading…
x
Reference in New Issue
Block a user