diff options
author | VAN BOSSUYT Nicolas <nicolas.van.bossuyt@gmail.com> | 2022-04-18 22:30:01 +0200 |
---|---|---|
committer | VAN BOSSUYT Nicolas <nicolas.van.bossuyt@gmail.com> | 2022-04-18 22:30:01 +0200 |
commit | 963f2d0d981d7df9f47094721d89ff0886a1bab7 (patch) | |
tree | b149412f84679b6ae10ce7a85f75bc13a4353ba6 | |
parent | d2327ef8a5e6899ede5dbaed64691934cb3a7770 (diff) |
-rw-r--r-- | makefile | 4 | ||||
-rw-r--r-- | makefile.next | 137 | ||||
-rw-r--r-- | sources/apps/about/build.mk | 4 | ||||
-rw-r--r-- | sources/apps/about/manifest.json | 5 | ||||
-rw-r--r-- | sources/apps/demo/build.mk | 3 | ||||
-rw-r--r-- | sources/apps/demo/manifest.json | 5 | ||||
-rw-r--r-- | sources/apps/files/build.mk | 4 | ||||
-rw-r--r-- | sources/apps/files/manifest.json | 5 | ||||
-rw-r--r-- | sources/apps/panel/build.mk | 3 | ||||
-rw-r--r-- | sources/apps/panel/manifest.json | 5 | ||||
-rw-r--r-- | sources/build/host/build.mk | 17 | ||||
-rw-r--r-- | sources/build/target/build.mk | 45 | ||||
-rw-r--r-- | sources/srvs/acpi/build.mk | 3 | ||||
-rw-r--r-- | sources/srvs/acpi/manifest.json | 5 | ||||
-rw-r--r-- | sources/srvs/ahci/build.mk | 3 | ||||
-rw-r--r-- | sources/srvs/ahci/manifest.json | 5 | ||||
-rw-r--r-- | sources/srvs/pci/build.mk | 3 | ||||
-rw-r--r-- | sources/srvs/pci/manifest.json | 5 | ||||
-rw-r--r-- | sources/srvs/ps2/build.mk | 3 | ||||
-rw-r--r-- | sources/srvs/ps2/manifest.json | 5 | ||||
-rw-r--r-- | sources/srvs/ps2/ps2.h | 1 | ||||
-rw-r--r-- | sources/srvs/storage/manifest.json | 3 | ||||
-rw-r--r-- | sources/srvs/system/build.mk | 3 | ||||
-rw-r--r-- | sources/srvs/system/manifest.json | 5 | ||||
-rw-r--r-- | sources/srvs/window/build.mk | 3 | ||||
-rw-r--r-- | sources/srvs/window/manifest.json | 5 | ||||
-rw-r--r-- | sources/utils/bvm/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/bvm/manifest.json | 0 | ||||
-rw-r--r-- | sources/utils/cc/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/cc/manifest.json | 0 | ||||
-rw-r--r-- | sources/utils/fontinfo/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/fontinfo/manifest.json | 1 | ||||
-rw-r--r-- | sources/utils/fstools/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/fstools/manifest.json | 0 | ||||
-rw-r--r-- | sources/utils/gunzip/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/gunzip/manifest.json | 1 | ||||
-rw-r--r-- | sources/utils/gzip/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/gzip/manifest.json | 1 | ||||
-rw-r--r-- | sources/utils/hello/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/idgen/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/idl/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/idl/manifest.json | 0 | ||||
-rw-r--r-- | sources/utils/test/build.mk | 3 | ||||
-rw-r--r-- | sources/utils/test/manifest.json | 0 | ||||
-rw-r--r-- | src/about/main.c (renamed from sources/apps/about/main.c) | 1 | ||||
-rw-r--r-- | src/about/manifest.json | 16 | ||||
-rw-r--r-- | src/acpi/main.c (renamed from sources/srvs/acpi/main.c) | 0 | ||||
-rw-r--r-- | src/acpi/manifest.json | 17 | ||||
-rw-r--r-- | src/ahci/main.c (renamed from sources/srvs/ahci/main.c) | 0 | ||||
-rw-r--r-- | src/ahci/manifest.json | 17 | ||||
-rwxr-xr-x | src/build/dir2h.py (renamed from sources/build/scripts/header-builder.py) | 9 | ||||
-rwxr-xr-x | src/build/meta2mk.py | 49 | ||||
-rw-r--r-- | src/bvm/main.c (renamed from sources/utils/bvm/main.c) | 0 | ||||
-rw-r--r-- | src/bvm/manifest.json | 8 | ||||
-rw-r--r-- | src/cc/main.c (renamed from sources/utils/cc/main.c) | 0 | ||||
-rw-r--r-- | src/cc/manifest.json | 8 | ||||
-rw-r--r-- | src/demo/main.c (renamed from sources/apps/demo/main.c) | 0 | ||||
-rw-r--r-- | src/demo/manifest.json | 19 | ||||
-rw-r--r-- | src/device/device.h (renamed from sources/srvs/device/device.h) | 0 | ||||
-rw-r--r-- | src/device/main.c (renamed from sources/srvs/device/main.c) | 0 | ||||
-rw-r--r-- | src/device/manifest.json (renamed from sources/srvs/device/manifest.json) | 7 | ||||
-rw-r--r-- | src/files/main.c (renamed from sources/apps/files/main.c) | 0 | ||||
-rw-r--r-- | src/files/manifest.json | 16 | ||||
-rw-r--r-- | src/fontinfo/main.c (renamed from sources/utils/fontinfo/main.c) | 0 | ||||
-rw-r--r-- | src/fontinfo/manifest.json | 8 | ||||
-rw-r--r-- | src/fstools/main.c (renamed from sources/utils/fstools/main.c) | 0 | ||||
-rw-r--r-- | src/fstools/manifest.json | 8 | ||||
-rw-r--r-- | src/gunzip/main.c (renamed from sources/utils/gunzip/main.c) | 0 | ||||
-rw-r--r-- | src/gunzip/manifest.json | 8 | ||||
-rw-r--r-- | src/gzip/main.c (renamed from sources/utils/gzip/main.c) | 0 | ||||
-rw-r--r-- | src/gzip/manifest.json | 8 | ||||
-rw-r--r-- | src/hello/main.c (renamed from sources/utils/hello/main.c) | 0 | ||||
-rw-r--r-- | src/hello/manifest.json | 8 | ||||
-rw-r--r-- | src/idgen/main.c (renamed from sources/utils/idgen/main.c) | 0 | ||||
-rw-r--r-- | src/idgen/manifest.json | 8 | ||||
-rw-r--r-- | src/idl/main.c (renamed from sources/utils/idl/main.c) | 0 | ||||
-rw-r--r-- | src/idl/manifest.json | 8 | ||||
-rw-r--r-- | src/panel/main.c (renamed from sources/apps/panel/main.c) | 0 | ||||
-rw-r--r-- | src/panel/manifest.json | 16 | ||||
-rw-r--r-- | src/pci/main.c (renamed from sources/srvs/pci/main.c) | 0 | ||||
-rw-r--r-- | src/pci/manifest.json | 17 | ||||
-rw-r--r-- | src/ps2/main.c (renamed from sources/srvs/ps2/main.c) | 0 | ||||
-rw-r--r-- | src/ps2/manifest.json | 17 | ||||
-rw-r--r-- | src/storage/main.c | 6 | ||||
-rw-r--r-- | src/storage/manifest.json | 8 | ||||
-rw-r--r-- | src/system/bus.c (renamed from sources/srvs/system/bus.c) | 0 | ||||
-rw-r--r-- | src/system/bus.h (renamed from sources/srvs/system/bus.h) | 0 | ||||
-rw-r--r-- | src/system/main.c (renamed from sources/srvs/system/main.c) | 0 | ||||
-rw-r--r-- | src/system/manifest.json | 16 | ||||
-rw-r--r-- | src/system/unit.c (renamed from sources/srvs/system/unit.c) | 0 | ||||
-rw-r--r-- | src/system/unit.h (renamed from sources/srvs/system/unit.h) | 0 | ||||
-rw-r--r-- | src/test/brutal/alloc/heap.c (renamed from sources/utils/test/brutal/alloc/heap.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/base/endian.c (renamed from sources/utils/test/brutal/base/endian.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/codec/deflate.c (renamed from sources/utils/test/brutal/codec/deflate.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/codec/gzip.c (renamed from sources/utils/test/brutal/codec/gzip.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/codec/inflate.c (renamed from sources/utils/test/brutal/codec/inflate.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/codec/zlib.c (renamed from sources/utils/test/brutal/codec/zlib.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/ds/map.c (renamed from sources/utils/test/brutal/ds/map.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/ds/range.c (renamed from sources/utils/test/brutal/ds/range.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/ds/slot.c (renamed from sources/utils/test/brutal/ds/slot.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/ds/vec.c (renamed from sources/utils/test/brutal/ds/vec.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/fmt/case.c (renamed from sources/utils/test/brutal/fmt/case.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/fmt/format.c (renamed from sources/utils/test/brutal/fmt/format.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/fmt/printf.c (renamed from sources/utils/test/brutal/fmt/printf.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/gfx/path.c (renamed from sources/utils/test/brutal/gfx/path.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/gfx/rect.c (renamed from sources/utils/test/brutal/gfx/rect.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/gfx/text.c (renamed from sources/utils/test/brutal/gfx/text.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/glob/glob.c (renamed from sources/utils/test/brutal/glob/glob.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/io/bit_write.c (renamed from sources/utils/test/brutal/io/bit_write.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/tests/expect.c (renamed from sources/utils/test/brutal/tests/expect.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/tests/test.c (renamed from sources/utils/test/brutal/tests/test.c) | 0 | ||||
-rw-r--r-- | src/test/brutal/ui/parser.c (renamed from sources/utils/test/brutal/ui/parser.c) | 0 | ||||
-rw-r--r-- | src/test/cc/cc.h (renamed from sources/utils/test/cc/cc.h) | 0 | ||||
-rw-r--r-- | src/test/cc/pproc.c (renamed from sources/utils/test/cc/pproc.c) | 0 | ||||
-rw-r--r-- | src/test/json/json.c (renamed from sources/utils/test/json/json.c) | 0 | ||||
-rw-r--r-- | src/test/main.c (renamed from sources/utils/test/main.c) | 0 | ||||
-rw-r--r-- | src/test/manifest.json | 8 | ||||
-rw-r--r-- | src/window/client.c (renamed from sources/srvs/window/client.c) | 0 | ||||
-rw-r--r-- | src/window/client.h (renamed from sources/srvs/window/client.h) | 0 | ||||
-rw-r--r-- | src/window/display.c (renamed from sources/srvs/window/display.c) | 0 | ||||
-rw-r--r-- | src/window/display.h (renamed from sources/srvs/window/display.h) | 0 | ||||
-rw-r--r-- | src/window/main.c (renamed from sources/srvs/window/main.c) | 0 | ||||
-rw-r--r-- | src/window/manifest.json | 15 | ||||
-rw-r--r-- | src/window/server.c (renamed from sources/srvs/window/server.c) | 0 | ||||
-rw-r--r-- | src/window/server.h (renamed from sources/srvs/window/server.h) | 0 |
125 files changed, 475 insertions, 173 deletions
@@ -44,7 +44,7 @@ USER_CFLAGS_INC := \ CACHEDIR=.cache/ GENDIR=bin/generated BINDIR_LOADER=bin/$(CONFIG)/$(ARCH)-loader-$(TOOLCHAIN) -BINDIR_USER=bin/$(CONFIG)/$(ARCH)-brutal-$(TOOLCHAIN) +BINDIR_TARGET=bin/$(CONFIG)/$(ARCH)-brutal-$(TOOLCHAIN) BINDIR_KERNEL=bin/$(CONFIG)/$(ARCH)-kernel-$(TOOLCHAIN) BINDIR_HOST=bin/$(CONFIG)/$(HOST_ARCH)-host-$(TOOLCHAIN) @@ -71,7 +71,7 @@ all: $(ALL) .PHONY: clean clean: rm -rf $(BINDIR_LOADER) - rm -rf $(BINDIR_USER) + rm -rf $(BINDIR_TARGET) rm -rf $(BINDIR_KERNEL) rm -rf $(BINDIR_HOST) diff --git a/makefile.next b/makefile.next new file mode 100644 index 00000000..74fe3203 --- /dev/null +++ b/makefile.next @@ -0,0 +1,137 @@ +# = Context ================================================================== # + +.SUFFIXES: +.DELETE_ON_ERROR: +.DEFAULT_GOAL:=all +SHELL:=/bin/bash + +# - Utilities ---------------------------------------------------------------- # + +MKCWD=@mkdir -p $(@D) +DIR2H:=src/build/dir2h.py +META2MK:=src/build/meta2mk.py + +# - Directories -------------------------------------------------------------- # + +SRCDIR:=src +BINDIR:=bin +HNDDIR:=$(BINDIR)/__headers__ + +# - Toolchains --------------------------------------------------------------- # + +CFLAGS:= \ + -std=gnu2x \ + -Wall \ + -Wextra \ + -Werror \ + -I$(SRCDIR) \ + -I$(HNDDIR) + +# = Packages ================================================================= # + +PACKAGES:=$(shell ls $(SRCDIR)) + +# - Manifests ---------------------------------------------------------------- # + +MANIFESTS:=$(patsubst $(SRCDIR)/%/manifest.json,$(BINDIR)/%/manifest.json,$(wildcard $(SRCDIR)/*/manifest.json)) + +.SECONDARY: $(MANIFESTS) +$(BINDIR)/%/manifest.json: $(SRCDIR)/%/manifest.json + $(MKCWD) + cat $^ > $@ + + +$(BINDIR)/%/build.mk: $(SRCDIR)/%/manifest.json + $(MKCWD) + $(META2MK) -m $^ > $@ + +include $(patsubst $(BINDIR)/%/manifest.json,$(BINDIR)/%/build.mk,$(MANIFESTS)) + +# - Headers ------------------------------------------------------------------ # + +HEADERS:=$(patsubst %,$(HNDDIR)/%,$(PACKAGES)) + +.SECONDARY: $(HEADERS) +$(HNDDIR)/%: $(SRCDIR)/% + $(MKCWD) + $(DIR2H) -d $< --prefix $(shell basename $<) > $@ + +define PACKAGES_TEMPLATE + +# - Kernel Rules ------------------------------------------------------------- # + +$(BINDIR)/$($(1)_NAME)/kernel/%.c.o: + $(MKCWD) + $(KERNEL_CC) -c -o $@ $< $(KERNEL_CFLAGS) + +$(BINDIR)/$($(1)_NAME)/kernel/%.s.o: + $(MKCWD) + $(KERNEL_AS) -o $@ $< $(KERNEL_ASFLAGS) + + +$(BINDIR)/$($(1)_NAME)/kernel/$($(1)_NAME): + $(MKCWD) + $(KERNEL_LD) -o $@ $^ $(KERNEL_LDFLAGS) + +# - Loader Rules ------------------------------------------------------------- # + +$(BINDIR)/$($(1)_NAME)/loader/%.c.o: + $(MKCWD) + $(LOADER_CC) -c -o $@ $< $(LOADER_CFLAGS) + +$(BINDIR)/$($(1)_NAME)/loader/%.s.o: + $(MKCWD) + $(LOADER_AS) -o $@ $< $(LOADER_ASFLAGS) + +$(BINDIR)/$($(1)_NAME)/loader/$($(1)_NAME): + $(MKCWD) + $(LOADER_LD) -o $@ $^ $(LOADER_LDFLAGS) + +# - Host Rules --------------------------------------------------------------- # + +$(BINDIR)/$($(1)_NAME)/host/%.c.o: + $(MKCWD) + $(HOST_CC) -c -o $@ $< $(HOST_CFLAGS) + +$(BINDIR)/$($(1)_NAME)/host/%.s.o: + $(MKCWD) + $(HOST_AS) -o $@ $< $(HOST_ASFLAGS) + +$(BINDIR)/$($(1)_NAME)/host/$($(1)_NAME): + $(MKCWD) + $(HOST_LD) -o $@ $^ $(HOST_LDFLAGS) + + +# - Target Rules ------------------------------------------------------------- # + +$(BINDIR)/$($(1)_NAME)/target/%.c.o: + $(MKCWD) + $(TARGET_CC) -c -o $@ $< $(TARGET_CFLAGS) + +$(BINDIR)/$($(1)_NAME)/target/%.s.o: + $(MKCWD) + $(TARGET_AS) -o $@ $< $(TARGET_ASFLAGS) + +$(BINDIR)/$($(1)_NAME)/target/$($(1)_NAME): + $(MKCWD) + $(TARGET_LD) -o $@ $^ $(TARGET_LDFLAGS) + +endef + +$(foreach pkg,$(ALL_PKGS),$(info $(call PACKAGES_TEMPLATE,$(pkg)))) + +# = Phony Rules ============================================================== # + +.PHONY: all +all: $(HEADERS) + +.PHONY: clean +clean: + rm -rf $(BINDIR) + +.PHONY: dump +dump: + @echo CFLAGS: $(CFLAGS) + @echo MANIFESTS: $(MANIFESTS) + @echo HEADERS: $(HEADERS) + diff --git a/sources/apps/about/build.mk b/sources/apps/about/build.mk deleted file mode 100644 index 966fbd36..00000000 --- a/sources/apps/about/build.mk +++ /dev/null @@ -1,4 +0,0 @@ -PKG_ABOUT_PATH=apps/about - -APPS+=ABOUT - diff --git a/sources/apps/about/manifest.json b/sources/apps/about/manifest.json deleted file mode 100644 index a771b5ca..00000000 --- a/sources/apps/about/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "about", - "consume": ["system.Server", "window.Server"], - "rights": ["log"] -} diff --git a/sources/apps/demo/build.mk b/sources/apps/demo/build.mk deleted file mode 100644 index 44eb59fd..00000000 --- a/sources/apps/demo/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_DEMO_PATH=apps/demo - -APPS+=DEMO diff --git a/sources/apps/demo/manifest.json b/sources/apps/demo/manifest.json deleted file mode 100644 index 77a5ddb0..00000000 --- a/sources/apps/demo/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "demo", - "consume": ["system.Server", "window.Server"], - "rights": ["log"] -} diff --git a/sources/apps/files/build.mk b/sources/apps/files/build.mk deleted file mode 100644 index a89816f2..00000000 --- a/sources/apps/files/build.mk +++ /dev/null @@ -1,4 +0,0 @@ -PKG_FILES_PATH=apps/files - -APPS+=FILES - diff --git a/sources/apps/files/manifest.json b/sources/apps/files/manifest.json deleted file mode 100644 index bd585911..00000000 --- a/sources/apps/files/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "files", - "consume": ["system.Server", "window.Server"], - "rights": ["log"] -} diff --git a/sources/apps/panel/build.mk b/sources/apps/panel/build.mk deleted file mode 100644 index f895d53c..00000000 --- a/sources/apps/panel/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_PANEL_PATH=apps/panel - -APPS+=PANEL diff --git a/sources/apps/panel/manifest.json b/sources/apps/panel/manifest.json deleted file mode 100644 index 4f804517..00000000 --- a/sources/apps/panel/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "panel", - "consume": ["system.Server", "window.Server"], - "rights": ["log"] -} diff --git a/sources/build/host/build.mk b/sources/build/host/build.mk index 7913786f..3005de1d 100644 --- a/sources/build/host/build.mk +++ b/sources/build/host/build.mk @@ -41,16 +41,10 @@ DEPENDENCIES += $(LIBS_HOST_OBJ:.o=.d) define HOST_TEMPLATE -$(1)_NAME = $$(shell echo $(1) | tr A-Z a-z) - -$(1)_HOST_SRC = \ - $$(wildcard sources/$$(PKG_$(1)_PATH)/*.c) \ - $$(wildcard sources/$$(PKG_$(1)_PATH)/*/*.c) \ - $$(wildcard sources/$$(PKG_$(1)_PATH)/*/*/*.c) - +$(1)_HOST_SRC = $$(wildcard sources/$$($(1)_PATH)/*.c) $(1)_HOST_OBJ = $$(patsubst sources/%,$(BINDIR_HOST)/%.o, $$($(1)_HOST_SRC)) - $(1)_HOST_BIN = $(BINDIR_HOST)/$$($(1)_NAME) + ALL+=$$($(1)_HOST_BIN) HOST_NAMES+=$$($(1)_NAME) @@ -60,15 +54,8 @@ $$($(1)_HOST_BIN): $$($(1)_HOST_OBJ) $(LIBS_HOST_BIN) @$$(MKCWD) $(HOST_CC) -o $$@ $$^ $(HOST_LDFLAGS) $(HOST_CFLAGS) -host-$$($(1)_NAME)-dump: - @echo "$$($(1)_HOST_BIN)" - @echo "$$($(1)_HOST_OBJ)" - @echo "$$($(1)_HOST_SRC)" - endef -HOST_PKGS=$(APPS) $(UTILS) - list-host: @echo $(HOST_NAMES) diff --git a/sources/build/target/build.mk b/sources/build/target/build.mk index 7b625c70..0650297c 100644 --- a/sources/build/target/build.mk +++ b/sources/build/target/build.mk @@ -25,23 +25,23 @@ LIBS_SRC = \ $(wildcard sources/libs/ubsan/*.c) LIBS_OBJ = \ - $(patsubst sources/%, $(BINDIR_USER)/%.o, $(LIBS_SRC)) \ - $(patsubst $(GENDIR)/%, $(BINDIR_USER)/%.o, $(GENERATED_SRC)) + $(patsubst sources/%, $(BINDIR_TARGET)/%.o, $(LIBS_SRC)) \ + $(patsubst $(GENDIR)/%, $(BINDIR_TARGET)/%.o, $(GENERATED_SRC)) -LIBS_BIN=$(BINDIR_USER)/libbrutal.a +LIBS_BIN=$(BINDIR_TARGET)/libbrutal.a DEPENDENCIES += $(LIBS_OBJ:.o=.d) -$(BINDIR_USER)/%.c.o: $(GENDIR)/%.c | $(GENERATED_HDR) $(GENERATED_MOD) +$(BINDIR_TARGET)/%.c.o: $(GENDIR)/%.c | $(GENERATED_HDR) $(GENERATED_MOD) @$(MKCWD) $(USER_CC) -c -o $@ $< $(USER_UCFLAGS) -$(BINDIR_USER)/%.c.o: sources/%.c | $(GENERATED_HDR) $(GENERATED_MOD) +$(BINDIR_TARGET)/%.c.o: sources/%.c | $(GENERATED_HDR) $(GENERATED_MOD) @$(MKCWD) $(USER_CC) -c -o $@ $< $(USER_UCFLAGS) -$(BINDIR_USER)/%.s.o: sources/%.s +$(BINDIR_TARGET)/%.s.o: sources/%.s @$(MKCWD) $(USER_AS) -o $@ $< $(USER_ASFLAGS) @@ -51,26 +51,19 @@ $(LIBS_BIN): $(LIBS_OBJ) define BIN_TEMPLATE -$(1)_NAME = $$(shell echo $(1) | tr A-Z a-z) +$(1)_SRC = $$(wildcard $$($(1)_PATH)/*.c) +$(1)_OBJ = $$(patsubst sources/%,$(BINDIR_TARGET)/%.o, $$($(1)_SRC)) +$(1)_BIN = $(BINDIR_TARGET)/$$($(1)_NAME)/$$($(1)_NAME) -$(1)_PKG = sources/$$(PKG_$(1)_PATH) +$(1)_JSON = $(BINDIR_TARGET)/$$($(1)_NAME).json -$(1)_SRC = $$(wildcard $$($(1)_PKG)/*.c) - -$(1)_OBJ = $$(patsubst sources/%,$(BINDIR_USER)/%.o, $$($(1)_SRC)) - -$(1)_BIN = $(BINDIR_USER)/$$($(1)_NAME) - -$(1)_JSON = $(BINDIR_USER)/$$($(1)_NAME).json +ALL+=$$($(1)_BIN) DEPENDENCIES += $$($(1)_OBJ:.o=.d) -PKGS+=$$($(1)_BIN) -ALL+=$$($(1)_BIN) - -$$($(1)_JSON): $$($(1)_PKG)/manifest.json $$(IDL_HOST_BIN) ./sources/build/scripts/manifest-builder.py +$$($(1)_JSON): $$($(1)_PATH)/manifest.json $$(IDL_HOST_BIN) ./sources/build/scripts/manifest-builder.py @$$(MKCWD) - ./sources/build/scripts/manifest-builder.py $$($(1)_PKG)/manifest.json > $$@ + ./sources/build/scripts/manifest-builder.py $$($(1)_PATH)/manifest.json > $$@ $$($(1)_BIN): $$($(1)_OBJ) $(LIBS_BIN) $$($(1)_JSON) @$$(MKCWD) @@ -80,17 +73,9 @@ $$($(1)_BIN): $$($(1)_OBJ) $(LIBS_BIN) $$($(1)_JSON) --set-section-flags .brutal.manifest=readonly,contents \ $$@ - -target-$$($(1)_NAME)-dump: - @echo "$$($(1)_BIN)" - @echo "$$($(1)_SRC)" - @echo "$$($(1)_OBJ)" - endef -USER_PKGS:=$(APPS) $(SRVS) - list-user: - @echo $(USER_PKGS) + @echo $(TARGET_PKGS) -$(foreach bin, $(USER_PKGS), $(eval $(call BIN_TEMPLATE,$(bin)))) +$(foreach bin, $(TARGET_PKGS), $(eval $(call BIN_TEMPLATE,$(bin)))) diff --git a/sources/srvs/acpi/build.mk b/sources/srvs/acpi/build.mk deleted file mode 100644 index 900e9846..00000000 --- a/sources/srvs/acpi/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_ACPI_PATH=srvs/acpi - -SRVS+=ACPI diff --git a/sources/srvs/acpi/manifest.json b/sources/srvs/acpi/manifest.json deleted file mode 100644 index 09efdeed..00000000 --- a/sources/srvs/acpi/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "acpi", - "consume": ["system.Server", "boot.Info"], - "rights": ["irq", "dma", "log"] -} diff --git a/sources/srvs/ahci/build.mk b/sources/srvs/ahci/build.mk deleted file mode 100644 index a04f17ea..00000000 --- a/sources/srvs/ahci/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_AHCI_PATH=srvs/ahci - -SRVS+=AHCI diff --git a/sources/srvs/ahci/manifest.json b/sources/srvs/ahci/manifest.json deleted file mode 100644 index a9730079..00000000 --- a/sources/srvs/ahci/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "ahci", - "consume": ["system.Server", "pci.Bus"], - "rights": ["irq", "dma", "log"] -} diff --git a/sources/srvs/pci/build.mk b/sources/srvs/pci/build.mk deleted file mode 100644 index 02dfd75c..00000000 --- a/sources/srvs/pci/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_PCI_PATH=srvs/pci - -SRVS+=PCI diff --git a/sources/srvs/pci/manifest.json b/sources/srvs/pci/manifest.json deleted file mode 100644 index 7f13645a..00000000 --- a/sources/srvs/pci/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "pci", - "consume": ["system.Server", "boot.Info"], - "rights": ["irq", "dma", "log"] -} diff --git a/sources/srvs/ps2/build.mk b/sources/srvs/ps2/build.mk deleted file mode 100644 index eb9c2afe..00000000 --- a/sources/srvs/ps2/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_PS2_PATH=srvs/ps2 - -SRVS+=PS2 diff --git a/sources/srvs/ps2/manifest.json b/sources/srvs/ps2/manifest.json deleted file mode 100644 index faa50f63..00000000 --- a/sources/srvs/ps2/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "ps2", - "consume": ["system.Server", "event.Sink"], - "rights": ["irq", "pio", "log"] -} diff --git a/sources/srvs/ps2/ps2.h b/sources/srvs/ps2/ps2.h deleted file mode 100644 index 6f70f09b..00000000 --- a/sources/srvs/ps2/ps2.h +++ /dev/null @@ -1 +0,0 @@ -#pragma once diff --git a/sources/srvs/storage/manifest.json b/sources/srvs/storage/manifest.json deleted file mode 100644 index cfec4b3d..00000000 --- a/sources/srvs/storage/manifest.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "storage" -} diff --git a/sources/srvs/system/build.mk b/sources/srvs/system/build.mk deleted file mode 100644 index 1e3a60de..00000000 --- a/sources/srvs/system/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_SYSTEM_PATH=srvs/system - -SRVS+=SYSTEM diff --git a/sources/srvs/system/manifest.json b/sources/srvs/system/manifest.json deleted file mode 100644 index beefee65..00000000 --- a/sources/srvs/system/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "system", - "bootstrap": true, - "rights": ["irq", "dma", "pio", "log", "task"] -} diff --git a/sources/srvs/window/build.mk b/sources/srvs/window/build.mk deleted file mode 100644 index 95c4011d..00000000 --- a/sources/srvs/window/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_WINDOW_PATH=srvs/window - -SRVS+=WINDOW diff --git a/sources/srvs/window/manifest.json b/sources/srvs/window/manifest.json deleted file mode 100644 index a04ee5c5..00000000 --- a/sources/srvs/window/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "window", - "consume": ["system.Server", "hw.Display"], - "rights": ["log"] -} diff --git a/sources/utils/bvm/build.mk b/sources/utils/bvm/build.mk deleted file mode 100644 index a9c59bca..00000000 --- a/sources/utils/bvm/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_BVM_PATH=utils/bvm - -UTILS+=BVM diff --git a/sources/utils/bvm/manifest.json b/sources/utils/bvm/manifest.json deleted file mode 100644 index e69de29b..00000000 --- a/sources/utils/bvm/manifest.json +++ /dev/null diff --git a/sources/utils/cc/build.mk b/sources/utils/cc/build.mk deleted file mode 100644 index add11ecd..00000000 --- a/sources/utils/cc/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_CC_PATH=utils/cc - -UTILS+=CC diff --git a/sources/utils/cc/manifest.json b/sources/utils/cc/manifest.json deleted file mode 100644 index e69de29b..00000000 --- a/sources/utils/cc/manifest.json +++ /dev/null diff --git a/sources/utils/fontinfo/build.mk b/sources/utils/fontinfo/build.mk deleted file mode 100644 index ae7fb4ee..00000000 --- a/sources/utils/fontinfo/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_FONTINFO_PATH=utils/fontinfo - -UTILS+=FONTINFO diff --git a/sources/utils/fontinfo/manifest.json b/sources/utils/fontinfo/manifest.json deleted file mode 100644 index 0967ef42..00000000 --- a/sources/utils/fontinfo/manifest.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/sources/utils/fstools/build.mk b/sources/utils/fstools/build.mk deleted file mode 100644 index d8f67865..00000000 --- a/sources/utils/fstools/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_FSTOOLS_PATH=utils/fstools - -UTILS+=FSTOOLS diff --git a/sources/utils/fstools/manifest.json b/sources/utils/fstools/manifest.json deleted file mode 100644 index e69de29b..00000000 --- a/sources/utils/fstools/manifest.json +++ /dev/null diff --git a/sources/utils/gunzip/build.mk b/sources/utils/gunzip/build.mk deleted file mode 100644 index d31416e4..00000000 --- a/sources/utils/gunzip/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_GUNZIP_PATH=utils/gunzip - -UTILS+=GUNZIP diff --git a/sources/utils/gunzip/manifest.json b/sources/utils/gunzip/manifest.json deleted file mode 100644 index 0967ef42..00000000 --- a/sources/utils/gunzip/manifest.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/sources/utils/gzip/build.mk b/sources/utils/gzip/build.mk deleted file mode 100644 index c6756d44..00000000 --- a/sources/utils/gzip/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_GZIP_PATH=utils/gzip - -UTILS+=GZIP diff --git a/sources/utils/gzip/manifest.json b/sources/utils/gzip/manifest.json deleted file mode 100644 index 0967ef42..00000000 --- a/sources/utils/gzip/manifest.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/sources/utils/hello/build.mk b/sources/utils/hello/build.mk deleted file mode 100644 index 891b4a42..00000000 --- a/sources/utils/hello/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_HELLO_PATH=utils/hello - -UTILS+=HELLO diff --git a/sources/utils/idgen/build.mk b/sources/utils/idgen/build.mk deleted file mode 100644 index a2a80db5..00000000 --- a/sources/utils/idgen/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_IDGEN_PATH=utils/idgen - -UTILS+=IDGEN diff --git a/sources/utils/idl/build.mk b/sources/utils/idl/build.mk deleted file mode 100644 index 1133d4e3..00000000 --- a/sources/utils/idl/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_IDL_PATH=utils/idl - -UTILS+=IDL diff --git a/sources/utils/idl/manifest.json b/sources/utils/idl/manifest.json deleted file mode 100644 index e69de29b..00000000 --- a/sources/utils/idl/manifest.json +++ /dev/null diff --git a/sources/utils/test/build.mk b/sources/utils/test/build.mk deleted file mode 100644 index 911fcdaf..00000000 --- a/sources/utils/test/build.mk +++ /dev/null @@ -1,3 +0,0 @@ -PKG_TEST_PATH=utils/test - -UTILS+=TEST diff --git a/sources/utils/test/manifest.json b/sources/utils/test/manifest.json deleted file mode 100644 index e69de29b..00000000 --- a/sources/utils/test/manifest.json +++ /dev/null diff --git a/sources/apps/about/main.c b/src/about/main.c index 0352086b..8116717e 100644 --- a/sources/apps/about/main.c +++ b/src/about/main.c @@ -1,4 +1,3 @@ -#include <brutal-io> #include <brutal-ui> UiView *about_informations(void) diff --git a/src/about/manifest.json b/src/about/manifest.json new file mode 100644 index 00000000..0e7b7bec --- /dev/null +++ b/src/about/manifest.json @@ -0,0 +1,16 @@ +{ + "type": "component", + "id": "about", + "version": "main", + "available": [ + "host", + "target" + ], + "consumes": [ + "system.Server", + "window.Server" + ], + "rights": [ + "log" + ] +} diff --git a/sources/srvs/acpi/main.c b/src/acpi/main.c index bf29af91..bf29af91 100644 --- a/sources/srvs/acpi/main.c +++ b/src/acpi/main.c diff --git a/src/acpi/manifest.json b/src/acpi/manifest.json new file mode 100644 index 00000000..6fa9d94e --- /dev/null +++ b/src/acpi/manifest.json @@ -0,0 +1,17 @@ +{ + "type": "component", + "id": "acpi", + "version": "main", + "available": [ + "target" + ], + "consume": [ + "system.Server", + "boot.Info" + ], + "rights": [ + "irq", + "dma", + "log" + ] +} diff --git a/sources/srvs/ahci/main.c b/src/ahci/main.c index d8b73f10..d8b73f10 100644 --- a/sources/srvs/ahci/main.c +++ b/src/ahci/main.c diff --git a/src/ahci/manifest.json b/src/ahci/manifest.json new file mode 100644 index 00000000..fb320c80 --- /dev/null +++ b/src/ahci/manifest.json @@ -0,0 +1,17 @@ +{ + "type": "component", + "id": "ahci", + "version": "main", + "available": [ + "target" + ], + "consume": [ + "system.Server", + "pci.Bus" + ], + "rights": [ + "irq", + "dma", + "log" + ] +} diff --git a/sources/build/scripts/header-builder.py b/src/build/dir2h.py index c7588c3d..f19c6d81 100755 --- a/sources/build/scripts/header-builder.py +++ b/src/build/dir2h.py @@ -3,7 +3,6 @@ # Create a new header file including all the .h file in a directory import os -from sys import stdout import argparse if __name__ == "__main__": @@ -20,8 +19,8 @@ if __name__ == "__main__": h_files.append(os.path.join(args.prefix, file)) # Create the header file - stdout.write("#pragma once\n") - stdout.write("\n") + print("#pragma once") + print("") for h_file in h_files: - stdout.write("#include <{}>\n".format(h_file)) - stdout.write("\n") + print("#include <{}>".format(h_file)) + print("") diff --git a/src/build/meta2mk.py b/src/build/meta2mk.py new file mode 100755 index 00000000..c7bbe816 --- /dev/null +++ b/src/build/meta2mk.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# Convert a manifest.json to a makefile + +import os +import json +import argparse + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="Convert a manifest.json to a makefile") + parser.add_argument("-m", "--manifest", + help="manifest.json", required=True) + + args = parser.parse_args() + + manifest = json.load(open(args.manifest)) + + dirname = os.path.dirname(args.manifest) + keyprefix = "PKG_" + manifest["id"].upper() + + print("{}_NAME={}".format(keyprefix, manifest["id"])) + print("{}_PATH={}".format(keyprefix, dirname)) + print("{}_TYPE={}".format(keyprefix, manifest["type"])) + print("{}_MANIFEST={}".format(keyprefix, args.manifest)) + + pkg_sources = [] + pkg_headers = [] + for root, dirs, files in os.walk(dirname): + for f in files: + if f.endswith(".c"): + pkg_sources.append(os.path.join(root, f)) + + if f.endswith(".h"): + pkg_headers.append(os.path.join(root, f)) + + print("{}_SOURCES={}".format(keyprefix, " ".join(pkg_sources))) + print("{}_HEADERS={}".format(keyprefix, " ".join(pkg_headers))) + + print("") + + print("ALL_PKGS+={}".format(keyprefix)) + + if "target" in manifest["available"]: + print("TARGET_PKGS+={}".format(keyprefix)) + + if "host" in manifest["available"]: + print("HOST_PKGS+={}".format(keyprefix)) + + print("") diff --git a/sources/utils/bvm/main.c b/src/bvm/main.c index 65f77d7a..65f77d7a 100644 --- a/sources/utils/bvm/main.c +++ b/src/bvm/main.c diff --git a/src/bvm/manifest.json b/src/bvm/manifest.json new file mode 100644 index 00000000..108ca4cd --- /dev/null +++ b/src/bvm/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "bvm", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/utils/cc/main.c b/src/cc/main.c index e75e3dcc..e75e3dcc 100644 --- a/sources/utils/cc/main.c +++ b/src/cc/main.c diff --git a/src/cc/manifest.json b/src/cc/manifest.json new file mode 100644 index 00000000..f2b5d1b6 --- /dev/null +++ b/src/cc/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "cc", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/apps/demo/main.c b/src/demo/main.c index 33ecdcd1..33ecdcd1 100644 --- a/sources/apps/demo/main.c +++ b/src/demo/main.c diff --git a/src/demo/manifest.json b/src/demo/manifest.json new file mode 100644 index 00000000..fc358eff --- /dev/null +++ b/src/demo/manifest.json @@ -0,0 +1,19 @@ +{ + "type": "component", + "id": "demo", + "version": "main", + "available": [ + "host", + "target" + ], + "import": { + "brutal-ui": "main" + }, + "consume": [ + "system.Server", + "window.Server" + ], + "rights": [ + "log" + ] +} diff --git a/sources/srvs/device/device.h b/src/device/device.h index 4fd018d9..4fd018d9 100644 --- a/sources/srvs/device/device.h +++ b/src/device/device.h diff --git a/sources/srvs/device/main.c b/src/device/main.c index 52aafa3a..52aafa3a 100644 --- a/sources/srvs/device/main.c +++ b/src/device/main.c diff --git a/sources/srvs/device/manifest.json b/src/device/manifest.json index 8a0463b8..553a1da2 100644 --- a/sources/srvs/device/manifest.json +++ b/src/device/manifest.json @@ -1,5 +1,10 @@ { - "name": "device", + "type": "component", + "id": "device", + "version": "main", + "available": [ + "target" + ], "consume": [ "system.Server" ], diff --git a/sources/apps/files/main.c b/src/files/main.c index d58027cf..d58027cf 100644 --- a/sources/apps/files/main.c +++ b/src/files/main.c diff --git a/src/files/manifest.json b/src/files/manifest.json new file mode 100644 index 00000000..beffc27e --- /dev/null +++ b/src/files/manifest.json @@ -0,0 +1,16 @@ +{ + "type": "component", + "id": "files", + "version": "main", + "available": [ + "host", + "target" + ], + "consume": [ + "system.Server", + "window.Server" + ], + "rights": [ + "log" + ] +} diff --git a/sources/utils/fontinfo/main.c b/src/fontinfo/main.c index f462ad71..f462ad71 100644 --- a/sources/utils/fontinfo/main.c +++ b/src/fontinfo/main.c diff --git a/src/fontinfo/manifest.json b/src/fontinfo/manifest.json new file mode 100644 index 00000000..0d502dd9 --- /dev/null +++ b/src/fontinfo/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "fontinfo", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/utils/fstools/main.c b/src/fstools/main.c index 0b2c55bd..0b2c55bd 100644 --- a/sources/utils/fstools/main.c +++ b/src/fstools/main.c diff --git a/src/fstools/manifest.json b/src/fstools/manifest.json new file mode 100644 index 00000000..8bc62e1b --- /dev/null +++ b/src/fstools/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "fstools", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/utils/gunzip/main.c b/src/gunzip/main.c index 826dcc68..826dcc68 100644 --- a/sources/utils/gunzip/main.c +++ b/src/gunzip/main.c diff --git a/src/gunzip/manifest.json b/src/gunzip/manifest.json new file mode 100644 index 00000000..f3dd201e --- /dev/null +++ b/src/gunzip/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "gunzip", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/utils/gzip/main.c b/src/gzip/main.c index 632c7476..632c7476 100644 --- a/sources/utils/gzip/main.c +++ b/src/gzip/main.c diff --git a/src/gzip/manifest.json b/src/gzip/manifest.json new file mode 100644 index 00000000..49dc0e06 --- /dev/null +++ b/src/gzip/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "gzip", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/utils/hello/main.c b/src/hello/main.c index 6ecb31d2..6ecb31d2 100644 --- a/sources/utils/hello/main.c +++ b/src/hello/main.c diff --git a/src/hello/manifest.json b/src/hello/manifest.json new file mode 100644 index 00000000..6a769f02 --- /dev/null +++ b/src/hello/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "hello", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/utils/idgen/main.c b/src/idgen/main.c index bfd86807..bfd86807 100644 --- a/sources/utils/idgen/main.c +++ b/src/idgen/main.c diff --git a/src/idgen/manifest.json b/src/idgen/manifest.json new file mode 100644 index 00000000..7f9f763d --- /dev/null +++ b/src/idgen/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "idgen", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/utils/idl/main.c b/src/idl/main.c index 5ebcdb2a..5ebcdb2a 100644 --- a/sources/utils/idl/main.c +++ b/src/idl/main.c diff --git a/src/idl/manifest.json b/src/idl/manifest.json new file mode 100644 index 00000000..b8fb91b7 --- /dev/null +++ b/src/idl/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "idl", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/apps/panel/main.c b/src/panel/main.c index f94999c5..f94999c5 100644 --- a/sources/apps/panel/main.c +++ b/src/panel/main.c diff --git a/src/panel/manifest.json b/src/panel/manifest.json new file mode 100644 index 00000000..fdb31128 --- /dev/null +++ b/src/panel/manifest.json @@ -0,0 +1,16 @@ +{ + "type": "component", + "id": "panel", + "version": "main", + "available": [ + "host", + "target" + ], + "consume": [ + "system.Server", + "window.Server" + ], + "rights": [ + "log" + ] +} diff --git a/sources/srvs/pci/main.c b/src/pci/main.c index cf667122..cf667122 100644 --- a/sources/srvs/pci/main.c +++ b/src/pci/main.c diff --git a/src/pci/manifest.json b/src/pci/manifest.json new file mode 100644 index 00000000..c15f4fdc --- /dev/null +++ b/src/pci/manifest.json @@ -0,0 +1,17 @@ +{ + "type": "component", + "id": "pci", + "version": "main", + "available": [ + "target" + ], + "consume": [ + "system.Server", + "boot.Info" + ], + "rights": [ + "irq", + "dma", + "log" + ] +} diff --git a/sources/srvs/ps2/main.c b/src/ps2/main.c index 1c10e82d..1c10e82d 100644 --- a/sources/srvs/ps2/main.c +++ b/src/ps2/main.c diff --git a/src/ps2/manifest.json b/src/ps2/manifest.json new file mode 100644 index 00000000..2a7789d9 --- /dev/null +++ b/src/ps2/manifest.json @@ -0,0 +1,17 @@ +{ + "type": "component", + "id": "ps2", + "version": "main", + "available": [ + "target" + ], + "consume": [ + "system.Server", + "event.Sink" + ], + "rights": [ + "irq", + "pio", + "log" + ] +} diff --git a/src/storage/main.c b/src/storage/main.c new file mode 100644 index 00000000..52aafa3a --- /dev/null +++ b/src/storage/main.c @@ -0,0 +1,6 @@ +#include <ipc/ipc.h> + +int ipc_component_main(IpcComponent *self) +{ + return ipc_component_run(self); +} diff --git a/src/storage/manifest.json b/src/storage/manifest.json new file mode 100644 index 00000000..36e2c75f --- /dev/null +++ b/src/storage/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "storage", + "version": "main", + "available": [ + "target" + ] +} diff --git a/sources/srvs/system/bus.c b/src/system/bus.c index 617d3638..617d3638 100644 --- a/sources/srvs/system/bus.c +++ b/src/system/bus.c diff --git a/sources/srvs/system/bus.h b/src/system/bus.h index bca0697e..bca0697e 100644 --- a/sources/srvs/system/bus.h +++ b/src/system/bus.h diff --git a/sources/srvs/system/main.c b/src/system/main.c index 4538d61c..4538d61c 100644 --- a/sources/srvs/system/main.c +++ b/src/system/main.c diff --git a/src/system/manifest.json b/src/system/manifest.json new file mode 100644 index 00000000..e9e19057 --- /dev/null +++ b/src/system/manifest.json @@ -0,0 +1,16 @@ +{ + "type": "component", + "id": "system", + "version": "main", + "available": [ + "target" + ], + "bootstrap": true, + "rights": [ + "irq", + "dma", + "pio", + "log", + "task" + ] +} diff --git a/sources/srvs/system/unit.c b/src/system/unit.c index 11c9e893..11c9e893 100644 --- a/sources/srvs/system/unit.c +++ b/src/system/unit.c diff --git a/sources/srvs/system/unit.h b/src/system/unit.h index 029b0c4a..029b0c4a 100644 --- a/sources/srvs/system/unit.h +++ b/src/system/unit.h diff --git a/sources/utils/test/brutal/alloc/heap.c b/src/test/brutal/alloc/heap.c index c334037a..c334037a 100644 --- a/sources/utils/test/brutal/alloc/heap.c +++ b/src/test/brutal/alloc/heap.c diff --git a/sources/utils/test/brutal/base/endian.c b/src/test/brutal/base/endian.c index 856faf8e..856faf8e 100644 --- a/sources/utils/test/brutal/base/endian.c +++ b/src/test/brutal/base/endian.c diff --git a/sources/utils/test/brutal/codec/deflate.c b/src/test/brutal/codec/deflate.c index 33623ffe..33623ffe 100644 --- a/sources/utils/test/brutal/codec/deflate.c +++ b/src/test/brutal/codec/deflate.c diff --git a/sources/utils/test/brutal/codec/gzip.c b/src/test/brutal/codec/gzip.c index 50efeb29..50efeb29 100644 --- a/sources/utils/test/brutal/codec/gzip.c +++ b/src/test/brutal/codec/gzip.c diff --git a/sources/utils/test/brutal/codec/inflate.c b/src/test/brutal/codec/inflate.c index 949e56b0..949e56b0 100644 --- a/sources/utils/test/brutal/codec/inflate.c +++ b/src/test/brutal/codec/inflate.c diff --git a/sources/utils/test/brutal/codec/zlib.c b/src/test/brutal/codec/zlib.c index 71df1708..71df1708 100644 --- a/sources/utils/test/brutal/codec/zlib.c +++ b/src/test/brutal/codec/zlib.c diff --git a/sources/utils/test/brutal/ds/map.c b/src/test/brutal/ds/map.c index cc0f0805..cc0f0805 100644 --- a/sources/utils/test/brutal/ds/map.c +++ b/src/test/brutal/ds/map.c diff --git a/sources/utils/test/brutal/ds/range.c b/src/test/brutal/ds/range.c index 37f40417..37f40417 100644 --- a/sources/utils/test/brutal/ds/range.c +++ b/src/test/brutal/ds/range.c diff --git a/sources/utils/test/brutal/ds/slot.c b/src/test/brutal/ds/slot.c index 006b3fe8..006b3fe8 100644 --- a/sources/utils/test/brutal/ds/slot.c +++ b/src/test/brutal/ds/slot.c diff --git a/sources/utils/test/brutal/ds/vec.c b/src/test/brutal/ds/vec.c index ce83b614..ce83b614 100644 --- a/sources/utils/test/brutal/ds/vec.c +++ b/src/test/brutal/ds/vec.c diff --git a/sources/utils/test/brutal/fmt/case.c b/src/test/brutal/fmt/case.c index 44570f25..44570f25 100644 --- a/sources/utils/test/brutal/fmt/case.c +++ b/src/test/brutal/fmt/case.c diff --git a/sources/utils/test/brutal/fmt/format.c b/src/test/brutal/fmt/format.c index e305fdf4..e305fdf4 100644 --- a/sources/utils/test/brutal/fmt/format.c +++ b/src/test/brutal/fmt/format.c diff --git a/sources/utils/test/brutal/fmt/printf.c b/src/test/brutal/fmt/printf.c index 0689e312..0689e312 100644 --- a/sources/utils/test/brutal/fmt/printf.c +++ b/src/test/brutal/fmt/printf.c diff --git a/sources/utils/test/brutal/gfx/path.c b/src/test/brutal/gfx/path.c index 8ff7c7a4..8ff7c7a4 100644 --- a/sources/utils/test/brutal/gfx/path.c +++ b/src/test/brutal/gfx/path.c diff --git a/sources/utils/test/brutal/gfx/rect.c b/src/test/brutal/gfx/rect.c index 813f09c5..813f09c5 100644 --- a/sources/utils/test/brutal/gfx/rect.c +++ b/src/test/brutal/gfx/rect.c diff --git a/sources/utils/test/brutal/gfx/text.c b/src/test/brutal/gfx/text.c index 53e0cc52..53e0cc52 100644 --- a/sources/utils/test/brutal/gfx/text.c +++ b/src/test/brutal/gfx/text.c diff --git a/sources/utils/test/brutal/glob/glob.c b/src/test/brutal/glob/glob.c index 98b7c281..98b7c281 100644 --- a/sources/utils/test/brutal/glob/glob.c +++ b/src/test/brutal/glob/glob.c diff --git a/sources/utils/test/brutal/io/bit_write.c b/src/test/brutal/io/bit_write.c index 52198dc1..52198dc1 100644 --- a/sources/utils/test/brutal/io/bit_write.c +++ b/src/test/brutal/io/bit_write.c diff --git a/sources/utils/test/brutal/tests/expect.c b/src/test/brutal/tests/expect.c index e0b6365e..e0b6365e 100644 --- a/sources/utils/test/brutal/tests/expect.c +++ b/src/test/brutal/tests/expect.c diff --git a/sources/utils/test/brutal/tests/test.c b/src/test/brutal/tests/test.c index 4ab4cae0..4ab4cae0 100644 --- a/sources/utils/test/brutal/tests/test.c +++ b/src/test/brutal/tests/test.c diff --git a/sources/utils/test/brutal/ui/parser.c b/src/test/brutal/ui/parser.c index ccd300de..ccd300de 100644 --- a/sources/utils/test/brutal/ui/parser.c +++ b/src/test/brutal/ui/parser.c diff --git a/sources/utils/test/cc/cc.h b/src/test/cc/cc.h index a26d2b27..a26d2b27 100644 --- a/sources/utils/test/cc/cc.h +++ b/src/test/cc/cc.h diff --git a/sources/utils/test/cc/pproc.c b/src/test/cc/pproc.c index e2b134ed..e2b134ed 100644 --- a/sources/utils/test/cc/pproc.c +++ b/src/test/cc/pproc.c diff --git a/sources/utils/test/json/json.c b/src/test/json/json.c index a701539d..a701539d 100644 --- a/sources/utils/test/json/json.c +++ b/src/test/json/json.c diff --git a/sources/utils/test/main.c b/src/test/main.c index f9dfcf90..f9dfcf90 100644 --- a/sources/utils/test/main.c +++ b/src/test/main.c diff --git a/src/test/manifest.json b/src/test/manifest.json new file mode 100644 index 00000000..9a33a2b4 --- /dev/null +++ b/src/test/manifest.json @@ -0,0 +1,8 @@ +{ + "type": "component", + "id": "test", + "version": "main", + "available": [ + "host" + ] +} diff --git a/sources/srvs/window/client.c b/src/window/client.c index a4de11e3..a4de11e3 100644 --- a/sources/srvs/window/client.c +++ b/src/window/client.c diff --git a/sources/srvs/window/client.h b/src/window/client.h index 928e9af0..928e9af0 100644 --- a/sources/srvs/window/client.h +++ b/src/window/client.h diff --git a/sources/srvs/window/display.c b/src/window/display.c index e36b1523..e36b1523 100644 --- a/sources/srvs/window/display.c +++ b/src/window/display.c diff --git a/sources/srvs/window/display.h b/src/window/display.h index 7306e3bf..7306e3bf 100644 --- a/sources/srvs/window/display.h +++ b/src/window/display.h diff --git a/sources/srvs/window/main.c b/src/window/main.c index d55271fe..d55271fe 100644 --- a/sources/srvs/window/main.c +++ b/src/window/main.c diff --git a/src/window/manifest.json b/src/window/manifest.json new file mode 100644 index 00000000..4803c7e1 --- /dev/null +++ b/src/window/manifest.json @@ -0,0 +1,15 @@ +{ + "type": "component", + "id": "window", + "version": "main", + "available": [ + "target" + ], + "consume": [ + "system.Server", + "hw.Display" + ], + "rights": [ + "log" + ] +} diff --git a/sources/srvs/window/server.c b/src/window/server.c index 83105be0..83105be0 100644 --- a/sources/srvs/window/server.c +++ b/src/window/server.c diff --git a/sources/srvs/window/server.h b/src/window/server.h index e8412453..e8412453 100644 --- a/sources/srvs/window/server.h +++ b/src/window/server.h |