Improve build system

This commit is contained in:
Alex Kotov 2022-12-07 01:29:56 +04:00
parent e95c55e9dd
commit 63cc94427a
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
3 changed files with 61 additions and 53 deletions

View File

@ -1,3 +1,5 @@
CHOWN = sudo chown
CHROOT = sudo chroot
CP = cp
GMAKE = make
INSTALL = install
@ -19,15 +21,20 @@ SYSROOT_TARGETS = \
$(SYSROOT)/usr/lib/libkernaux.la
all: fhs $(SYSROOT_TARGETS)
$(CHOWN) -R kotovalexarian:kotovalexarian $(SYSROOT)
clean:
$(RM) -rf build $(SYSROOT) musl-gcc.specs
include make/busybox.mk
include make/etc.mk
include make/fhs.mk
include make/libkernaux.mk
include make/musl.mk
chroot: all
$(CHROOT) $(SYSROOT) /bin/sh
run: image.iso
qemu-system-x86_64 -m 2G -cdrom image.iso
@ -40,9 +47,3 @@ $(SYSROOT)/boot/grub/grub.cfg: boot/grub/grub.cfg fhs
$(SYSROOT)/boot/bzImage: boot/bzImage fhs
cp boot/bzImage $(SYSROOT)/boot/bzImage
$(SYSROOT)/etc/hosts: etc/hosts fhs
$(INSTALL) -m 644 etc/hosts $(SYSROOT)/etc/hosts
$(SYSROOT)/etc/shells: etc/shells fhs
$(INSTALL) -m 644 etc/shells $(SYSROOT)/etc/shells

7
make/etc.mk Normal file
View File

@ -0,0 +1,7 @@
$(SYSROOT)/etc/hosts: etc/hosts
$(INSTALL) -d $(SYSROOT)/etc
$(INSTALL) -m 644 etc/hosts $(SYSROOT)/etc/hosts
$(SYSROOT)/etc/shells: etc/shells
$(INSTALL) -d $(SYSROOT)/etc
$(INSTALL) -m 644 etc/shells $(SYSROOT)/etc/shells

View File

@ -1,48 +1,48 @@
fhs:
$(INSTALL) -d $(SYSROOT)/bin
$(INSTALL) -d $(SYSROOT)/boot
$(INSTALL) -d $(SYSROOT)/dev
$(INSTALL) -d $(SYSROOT)/etc
$(INSTALL) -d $(SYSROOT)/etc/opt
$(INSTALL) -d $(SYSROOT)/home
$(INSTALL) -d $(SYSROOT)/lib
$(INSTALL) -d $(SYSROOT)/media
$(INSTALL) -d $(SYSROOT)/mnt
$(INSTALL) -d $(SYSROOT)/opt
$(INSTALL) -d $(SYSROOT)/root
$(INSTALL) -d $(SYSROOT)/run
$(INSTALL) -d $(SYSROOT)/sbin
$(INSTALL) -d $(SYSROOT)/srv
$(INSTALL) -d $(SYSROOT)/tmp
$(INSTALL) -d $(SYSROOT)/usr
$(INSTALL) -d $(SYSROOT)/usr/bin
$(INSTALL) -d $(SYSROOT)/usr/games
$(INSTALL) -d $(SYSROOT)/usr/include
$(INSTALL) -d $(SYSROOT)/usr/lib
$(INSTALL) -d $(SYSROOT)/usr/libexec
$(INSTALL) -d $(SYSROOT)/usr/local
$(INSTALL) -d $(SYSROOT)/usr/local/bin
$(INSTALL) -d $(SYSROOT)/usr/local/etc
$(INSTALL) -d $(SYSROOT)/usr/local/games
$(INSTALL) -d $(SYSROOT)/usr/local/include
$(INSTALL) -d $(SYSROOT)/usr/local/lib
$(INSTALL) -d $(SYSROOT)/usr/local/man
$(INSTALL) -d $(SYSROOT)/usr/local/sbin
$(INSTALL) -d $(SYSROOT)/usr/local/share
$(INSTALL) -d $(SYSROOT)/usr/local/src
$(INSTALL) -d $(SYSROOT)/usr/sbin
$(INSTALL) -d $(SYSROOT)/usr/share
$(INSTALL) -d $(SYSROOT)/usr/share/man
$(INSTALL) -d $(SYSROOT)/usr/share/misc
$(INSTALL) -d $(SYSROOT)/usr/src
$(INSTALL) -d $(SYSROOT)/var
$(INSTALL) -d $(SYSROOT)/var/cache
$(INSTALL) -d $(SYSROOT)/var/lib
$(INSTALL) -d $(SYSROOT)/var/lib/misc
$(INSTALL) -d $(SYSROOT)/var/local
$(INSTALL) -d $(SYSROOT)/var/lock
$(INSTALL) -d $(SYSROOT)/var/log
$(INSTALL) -d $(SYSROOT)/var/mail
$(INSTALL) -d $(SYSROOT)/var/opt
$(INSTALL) -d $(SYSROOT)/var/spool
$(INSTALL) -d $(SYSROOT)/var/tmp
@$(INSTALL) -d $(SYSROOT)/bin
@$(INSTALL) -d $(SYSROOT)/boot
@$(INSTALL) -d $(SYSROOT)/dev
@$(INSTALL) -d $(SYSROOT)/etc
@$(INSTALL) -d $(SYSROOT)/etc/opt
@$(INSTALL) -d $(SYSROOT)/home
@$(INSTALL) -d $(SYSROOT)/lib
@$(INSTALL) -d $(SYSROOT)/media
@$(INSTALL) -d $(SYSROOT)/mnt
@$(INSTALL) -d $(SYSROOT)/opt
@$(INSTALL) -d $(SYSROOT)/root
@$(INSTALL) -d $(SYSROOT)/run
@$(INSTALL) -d $(SYSROOT)/sbin
@$(INSTALL) -d $(SYSROOT)/srv
@$(INSTALL) -d $(SYSROOT)/tmp
@$(INSTALL) -d $(SYSROOT)/usr
@$(INSTALL) -d $(SYSROOT)/usr/bin
@$(INSTALL) -d $(SYSROOT)/usr/games
@$(INSTALL) -d $(SYSROOT)/usr/include
@$(INSTALL) -d $(SYSROOT)/usr/lib
@$(INSTALL) -d $(SYSROOT)/usr/libexec
@$(INSTALL) -d $(SYSROOT)/usr/local
@$(INSTALL) -d $(SYSROOT)/usr/local/bin
@$(INSTALL) -d $(SYSROOT)/usr/local/etc
@$(INSTALL) -d $(SYSROOT)/usr/local/games
@$(INSTALL) -d $(SYSROOT)/usr/local/include
@$(INSTALL) -d $(SYSROOT)/usr/local/lib
@$(INSTALL) -d $(SYSROOT)/usr/local/man
@$(INSTALL) -d $(SYSROOT)/usr/local/sbin
@$(INSTALL) -d $(SYSROOT)/usr/local/share
@$(INSTALL) -d $(SYSROOT)/usr/local/src
@$(INSTALL) -d $(SYSROOT)/usr/sbin
@$(INSTALL) -d $(SYSROOT)/usr/share
@$(INSTALL) -d $(SYSROOT)/usr/share/man
@$(INSTALL) -d $(SYSROOT)/usr/share/misc
@$(INSTALL) -d $(SYSROOT)/usr/src
@$(INSTALL) -d $(SYSROOT)/var
@$(INSTALL) -d $(SYSROOT)/var/cache
@$(INSTALL) -d $(SYSROOT)/var/lib
@$(INSTALL) -d $(SYSROOT)/var/lib/misc
@$(INSTALL) -d $(SYSROOT)/var/local
@$(INSTALL) -d $(SYSROOT)/var/lock
@$(INSTALL) -d $(SYSROOT)/var/log
@$(INSTALL) -d $(SYSROOT)/var/mail
@$(INSTALL) -d $(SYSROOT)/var/opt
@$(INSTALL) -d $(SYSROOT)/var/spool
@$(INSTALL) -d $(SYSROOT)/var/tmp