From a79916574a757e5de8fb7ce0b951277aa5a962fb Mon Sep 17 00:00:00 2001 From: d0p1 Date: Fri, 10 Oct 2025 12:03:34 +0200 Subject: [PATCH] build: add stpd.kernel.mk & stpd.module.mk --- boot/loader/Makefile | 27 +++++++-------------------- kernel/Makefile | 29 ++--------------------------- modules/dummy/Makefile | 21 ++------------------- share/mk/stpd.kernel.mk | 32 ++++++++++++++++++++++++++++++++ share/mk/stpd.man.mk | 8 ++++++++ share/mk/stpd.module.mk | 22 ++++++++++++++++++++++ 6 files changed, 73 insertions(+), 66 deletions(-) create mode 100644 share/mk/stpd.kernel.mk create mode 100644 share/mk/stpd.man.mk create mode 100644 share/mk/stpd.module.mk diff --git a/boot/loader/Makefile b/boot/loader/Makefile index 6a46969..76a4ea4 100644 --- a/boot/loader/Makefile +++ b/boot/loader/Makefile @@ -1,15 +1,15 @@ -include stpd.base.mk - COMMON_DIR = ../common SYS_DIR = ../../kernel/sys +KERNEL = stpdldr + COMMON_SRCS = const.inc \ bootinfo.inc SYS_SRCS = bootinfo.inc \ register.inc -LOADER_SRCS = loader.asm \ +SRCS = loader.asm \ $(addprefix $(COMMON_DIR)/, $(COMMON_SRCS)) \ $(addprefix $(SYS_DIR)/, $(SYS_SRCS)) \ fat.inc \ @@ -21,23 +21,10 @@ LOADER_SRCS = loader.asm \ stpdfs.inc \ disk.inc -.PHONY: all -all: stpdldr.sys - -stpdldr.sys: $(LOADER_SRCS) - $(MSG_BUILD) - @$(FASM) loader.asm $@ >/dev/null - -%.inc: %.inc.in +.PHONY: $(COMMON_DIR)/const.inc +$(COMMON_DIR)/const.inc: $(COMMON_DIR)/const.inc.in @$(VERSION_SH) -.PHONY: install -install: $(DESTDIR)/stpdldr.sys +CLEANFILES = $(COMMON_DIR)/const.inc -$(DESTDIR)/stpdldr.sys: stpdldr.sys - $(MSG_INSTALL) - @install -D $< $@ - -CLEANFILES = stpdldr.sys $(COMMON_DIR)/const.inc - -include stpd.clean.mk +include stpd.kernel.mk diff --git a/kernel/Makefile b/kernel/Makefile index 922b178..3f89969 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -1,5 +1,3 @@ -include stpd.base.mk - ASMINCS = sys/bootinfo.inc \ sys/coff.inc \ sys/cpu.inc \ @@ -44,33 +42,10 @@ SRCS = kernel.asm \ bio.inc \ $(ASMINCS) -.PHONY: all -all: $(KERNEL).sys $(KERNEL).sym - .PHONY: const.inc const.inc: const.inc.in @$(VERSION_SH) -$(KERNEL).sys $(KERNEL).fas &: $(SRCS) - $(MSG_BUILD) - @$(FASM) -s $(KERNEL).fas kernel.asm $(KERNEL).sys >/dev/null +CLEANFILES = const.inc -$(KERNEL).sym: $(KERNEL).fas - $(MSG_CREATE) - @$(FAS2SYM) -o $@ $< - -.PHONY: install -install: $(DESTDIR)/$(KERNEL).sys $(SYMSDIR)/$(KERNEL).sym - -$(DESTDIR)/$(KERNEL).sys: $(KERNEL).sys - $(MSG_INSTALL) - @install -D $< $@ - -$(SYMSDIR)/$(KERNEL).sym: $(KERNEL).sym - $(MSG_INSTALL) - @install -D $< $@ - -CLEANFILES = $(KERNEL).sys $(KERNEL).fas $(KERNEL).sys const.inc - -include stpd.clean.mk -include stpd.inc.mk +include stpd.kernel.mk diff --git a/modules/dummy/Makefile b/modules/dummy/Makefile index 103b503..04eb0e6 100644 --- a/modules/dummy/Makefile +++ b/modules/dummy/Makefile @@ -1,20 +1,3 @@ -include stpd.base.mk +MODULE = dummy -MODULE = dummy.mod - -all: $(MODULE) - -$(MODULE): $(MODULE:.mod=.asm) - $(MSG_BUILD) - @fasm $^ $@ - -$(DESTDIR)/$(MODULE): $(MODULE) - $(MSG_INSTALL) - @install -D $< $@ - -.PHONY: install -install: $(DESTDIR)/$(MODULE) - -CLEANFILES = $(MODULE) - -include stpd.clean.mk +include stpd.module.mk diff --git a/share/mk/stpd.kernel.mk b/share/mk/stpd.kernel.mk new file mode 100644 index 0000000..9a5c92c --- /dev/null +++ b/share/mk/stpd.kernel.mk @@ -0,0 +1,32 @@ +include stpd.base.mk + +ifdef KERNEL + +.PHONY: all +all: $(KERNEL).sys $(KERNEL).sym + +$(KERNEL).sys $(KERNEL).fas &: $(SRCS) + $(MSG_BUILD) + @$(FASM) -s $(KERNEL).fas $< $(KERNEL).sys >/dev/null + +$(KERNEL).sym: $(KERNEL).fas + $(MSG_CREATE) + @$(FAS2SYM) -o $@ $< + +.PHONY: install +install: $(DESTDIR)/$(KERNEL).sys $(SYMSDIR)/$(KERNEL).sym + +$(DESTDIR)/$(KERNEL).sys: $(KERNEL).sys + $(MSG_INSTALL) + @install -D $< $@ + +$(SYMSDIR)/$(KERNEL).sym: $(KERNEL).sym + $(MSG_INSTALL) + @install -D $< $@ + +CLEANFILES += $(KERNEL).sys $(KERNEL).fas $(KERNEL).sys + +include stpd.inc.mk +include stpd.clean.mk + +endif diff --git a/share/mk/stpd.man.mk b/share/mk/stpd.man.mk new file mode 100644 index 0000000..e5154fd --- /dev/null +++ b/share/mk/stpd.man.mk @@ -0,0 +1,8 @@ +include stpd.base.mk + +ifdef MAN + +_MSECTIONS= 1 2 3 4 5 6 7 8 9 +_MANINST=$(foreach S,$(_MSECTIONS),$(addprefix $(DESTDIR)$(MANDIR)/$S/,$(filter %.$S,$(MAN)))) + +endif diff --git a/share/mk/stpd.module.mk b/share/mk/stpd.module.mk new file mode 100644 index 0000000..6b2a667 --- /dev/null +++ b/share/mk/stpd.module.mk @@ -0,0 +1,22 @@ +include stpd.base.mk + +ifdef MODULE + +all: $(MODULE).mod + +%.mod: %.asm + $(MSG_BUILD) + @fasm $^ $@ >/dev/null + +$(DESTDIR)/$(MODULE).mod: $(MODULE).mod + $(MSG_INSTALL) + @install -D $< $@ + +.PHONY: install +install: $(DESTDIR)/$(MODULE).mod + +CLEANFILES += $(MODULE).mod + +include stpd.clean.mk + +endif