don't use a rule for creating the build dirs, causes unnecessary rebuilds

as directory timestamps update regularly
This commit is contained in:
SolidHal 2020-07-07 23:16:02 -07:00
parent d171f30198
commit 1ffb33c36a
7 changed files with 33 additions and 23 deletions

View File

@ -24,7 +24,7 @@ filesystem: $(PRAWNOS_IMAGE_BASE)
### Packages
filesystem_packages: $(PRAWNOS_BUILD)
filesystem_packages: $(PACKAGES_BUILT)
filesystem_packages_clean:
$(MAKE) -C $(PRAWNOS_FILESYSTEM_PACKAGES) clean
@ -47,15 +47,18 @@ pbuilder_update: $(PBUILDER_CHROOT)
### REAL TARGETS
$(PACKAGES_BUILT): $(PRAWNOS_BUILD) $(PBUILDER_CHROOT)
$(PACKAGES_BUILT): $(PBUILDER_CHROOT)
mkdir -p $(PRAWNOS_BUILD_DIRS)
$(MAKE) -C $(PRAWNOS_FILESYSTEM_PACKAGES) all
touch $(PACKAGES_BUILT)
$(PBUILDER_CHROOT): $(PRAWNOS_BUILD)
$(PBUILDER_CHROOT):
@echo BUILDING $(PBUILDER_CHROOT)
mkdir -p $(PRAWNOS_BUILD_DIRS)
pbuilder create --basetgz $(PBUILDER_CHROOT) --configfile $(PBUILDER_RC)
$(PRAWNOS_IMAGE_BASE): $(PRAWNOS_BUILD) $(PACKAGES_BUILT)
$(PRAWNOS_IMAGE_BASE): $(PACKAGES_BUILT)
mkdir -p $(PRAWNOS_BUILD_DIRS)
rm -rf $(FS_BUILD_LOG)
$(PRAWNOS_FILESYSTEM_SCRIPTS_BUILD) $(KVER) $(DEBIAN_SUITE) $(PRAWNOS_IMAGE_BASE) $(PRAWNOS_ROOT) $(PRAWNOS_SHARED_SCRIPTS) $(PRAWNOS_FILESYSTEM_RESOURCES) 2>&1 | tee $(FS_BUILD_LOG)

View File

@ -17,6 +17,7 @@ initramfs_clean:
rm -f $(PRAWNOS_INITRAMFS)
$(PRAWNOS_INITRAMFS_IMAGE):
mkdir -p $(PRAWNOS_BUILD_DIRS)
rm -rf $(INITRAMFS_BUILD_LOG)
$(PRAWNOS_INITRAMFS_SCRIPTS_BUILD) $(PRAWNOS_IMAGE_BASE) $(INITRAMFS_RESOURCES) $(PRAWNOS_BUILD) 2>&1 | tee $(INITRAMFS_BUILD_LOG)

View File

@ -15,7 +15,6 @@ KERNEL_PATCHES := $(PRAWNOS_KERNEL)/patches
KERNEL_TAR := $(KERNEL_SOURCES)/linux-libre-$(KVER)-gnu.tar.lz
KERNEL_TAR_SIGNATURE := $(KERNEL_TAR).sign
KERNEL_BUILT := $(PRAWNOS_KERNEL_BUILD)/vmlinux.kpart
KERNEL_BUILD_LOG := $(PRAWNOS_BUILD_LOGS)/kernel-log.txt
@ -25,7 +24,7 @@ ATH9K_BUILT := $(PRAWNOS_ATH9K_BUILD)/target_firmware/htc_9271.fw
### PHONY TARGETS
.PHONY: kernel
kernel: $(KERNEL_BUILT)
kernel: $(PRAWNOS_KERNEL_BUILT)
.PHONY: ath9k
ath9k: $(ATH9K_BUILT)
@ -68,14 +67,16 @@ update_kernel_sig:
### REAL TARGETS
$(KERNEL_EXTRACTED): $(PRAWNOS_BUILD)
$(KERNEL_EXTRACTED):
mkdir -p $(PRAWNOS_BUILD_DIRS)
wget https://www.linux-libre.fsfla.org/pub/linux-libre/releases/$(KVER)-gnu/linux-libre-$(KVER)-gnu.tar.lz -O $(KERNEL_TAR)
gpg --import $(KERNEL_RESOURCES)/linux-libre-signing-key.gpg
gpg --verify $(KERNEL_TAR_SIGNATURE) $(KERNEL_TAR)
tar --lzip -xvf $(KERNEL_TAR) -C $(PRAWNOS_BUILD)
touch $(KERNEL_EXTRACTED)
$(ATH9K_EXTRACTED): $(PRAWNOS_BUILD)
$(ATH9K_EXTRACTED):
mkdir -p $(PRAWNOS_BUILD_DIRS)
tar -xvf $(ATH9K_TAR) -C $(PRAWNOS_BUILD)
touch $(ATH9K_EXTRACTED)
@ -87,7 +88,7 @@ $(KERNEL_PATCHED): $(KERNEL_EXTRACTED)
$(ATH9K_BUILT): $(ATH9K_EXTRACTED)
$(PRAWNOS_KERNEL_SCRIPTS_BUILD_ATH9K) $(PRAWNOS_ATH9K_BUILD)
$(KERNEL_BUILT): $(KERNEL_EXTRACTED) $(KERNEL_PATCHED) $(ATH9K_BUILT)
$(PRAWNOS_KERNEL_BUILT): $(KERNEL_EXTRACTED) $(KERNEL_PATCHED) $(ATH9K_BUILT)
make -C $(PRAWNOS_INITRAMFS)
rm -rf $(KERNEL_BUILD_LOG)
$(PRAWNOS_KERNEL_SCRIPTS_BUILD) $(KVER) $(KERNEL_RESOURCES) $(PRAWNOS_KERNEL_BUILD) $(PRAWNOS_INITRAMFS_IMAGE) 2>&1 | tee $(KERNEL_BUILD_LOG)

View File

@ -7,17 +7,24 @@ include $(PRAWNOS_ROOT)/scripts/BuildScripts/BuildCommon.mk
VERSION := $(shell cd src/; dpkg-parsechangelog --show-field Version)
PACKAGE_NAME := prawnos-linux-$(VERSION)-image-armhf
PACKAGE_NAME_DEB := $(PACKAGE_NAME).deb
PACKAGE_NAME_ORIG_TAR := $(PACKAGE_NAME).orig.tar.gz
ORIG := $(PRAWNOS_KERNEL_PACKAGE_HEADERS)/orig
default: $(PACKAGE_NAME_DEB)
$(PACKAGE_NAME_DEB):
$(PACKAGE_NAME_DEB): $(PACKAGE_NAME_ORIG_TAR)
@echo Building $@
#TODO: Have dependancy on kernel buil
#copy the vmlinux here and zip it up with a makefile
cd src/; debuild -us -uc
mkdir -p $PRAWNOS_LOCAL_APT_REPO
cp $PACKAGE_NAME $PRAWNOS_LOCAL_APT_REPO
$(PACKAGE_NAME_ORIG_TAR):
#TODO: Have dependancy on kernel build
#copy the vmlinux here and zip it up with a makefile
make -C $(PRAWNOS_KERNEL)/makefile kernel
cp $(PRAWNOS_KERNEL_BUILT) $(ORIG)
.PHONY: clean
clean:
rm -rf $(PRAWNOS_LOCAL_APT_REPO)/$(PACKAGE_NAME_DEB)

View File

@ -0,0 +1 @@
vmlinux.kpart

View File

@ -53,7 +53,8 @@ clean_all: clean_kernel clean_initramfs clean_ath9k clean_image clean_basefs cle
#:::::::::::::::::::::::::::::: premake prep ::::::::::::::::::::::::::::::
.PHONY: build_dirs
build_dirs: $(PRAWNOS_BUILD)
build_dirs:
mkdir -p $(PRAWNOS_BUILD_DIRS)
#:::::::::::::::::::::::::::::: kernel ::::::::::::::::::::::::::::::::::::
#included from kernel/makefile

View File

@ -25,6 +25,7 @@ PRAWNOS_BUILD_LOGS := $(PRAWNOS_BUILD)/logs
PRAWNOS_BUILD_DEBOOTSTRAP_APT_CACHE := $(PRAWNOS_BUILD)/debootstrap-apt-cache
PRAWNOS_BUILD_CHROOT_APT_CACHE := $(PRAWNOS_BUILD)/chroot-apt-cache
PRAWNOS_BUILD_DIRS := $(PRAWNOS_BUILD_LOGS) $(PRAWNOS_BUILD_DEBOOTSTRAP_APT_CACHE) $(PRAWNOS_BUILD_CHROOT_APT_CACHE)
### PRAWNOS IMAGES
ifeq ($(DEBIAN_SUITE),)
@ -89,6 +90,11 @@ PRAWNOS_LOCAL_APT_VARS := $(PRAWNOS_LOCAL_APT_REPO) $(PRAWNOS_LOCAL_APT_SOURCE)
### KERNEL
PRAWNOS_KERNEL_BUILD := $(PRAWNOS_BUILD)/linux-$(KVER)
PRAWNOS_KERNEL_BUILT := $(PRAWNOS_KERNEL_BUILD)/vmlinux.kpart
PRAWNOS_KERNEL_PACKAGE := $(PRAWNOS_KERNEL)/packages
PRAWNOS_KERNEL_PACKAGE_IMAGE := $(PRAWNOS_KERNEL_PACKAGE)/prawnos-linux-image-armhf
PRAWNOS_KERNEL_PACKAGE_HEADERS := $(PRAWNOS_KERNEL_PACKAGE)/prawnos-linux-headers-armhf
### INITRAMFS
PRAWNOS_INITRAMFS_IMAGE := $(PRAWNOS_BUILD)/PrawnOS-initramfs.cpio.gz
@ -101,16 +107,6 @@ PRAWNOS_ATH9K_BUILD := $(PRAWNOS_BUILD)/open-ath9k-htc-firmware
#Place all shared make rules below
#=========================================================================================
$(PRAWNOS_BUILD): $(PRAWNOS_BUILD_LOGS) $(PRAWNOS_BUILD_DEBOOTSTRAP_APT_CACHE) $(PRAWNOS_BUILD_CHROOT_APT_CACHE)
$(PRAWNOS_BUILD_LOGS):
mkdir -p $(PRAWNOS_BUILD_LOGS)
$(PRAWNOS_BUILD_DEBOOTSTRAP_APT_CACHE):
mkdir -p $(PRAWNOS_BUILD_DEBOOTSTRAP_APT_CACHE)
$(PRAWNOS_BUILD_CHROOT_APT_CACHE):
mkdir -p $(PRAWNOS_BUILD_CHROOT_APT_CACHE)
#=========================================================================================