mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 00:14:32 -08:00
Kernel image now has a header with version, magic number, and a pointer to its actual entrypoint. Entry point is now _start in boot.s, and we now generate versions.s in the build tree for the version macros.
32 lines
801 B
Makefile
32 lines
801 B
Makefile
ifeq "$(MOD_NAME)" ""
|
|
include "you must specify a MOD_NAME"
|
|
endif
|
|
|
|
ifndef SOURCES
|
|
SOURCES := $(wildcard src/modules/$(MOD_NAME)/*.c)
|
|
SOURCES += $(wildcard src/modules/$(MOD_NAME)/*.s)
|
|
endif
|
|
|
|
ifeq "$(SOURCES)" ""
|
|
include "you must specify a SOURCES list"
|
|
endif
|
|
|
|
MOD_SRC_D := src/modules/$(MOD_NAME)
|
|
MOD_BUILD_D := $(BUILD_D)/d.$(MOD_NAME)
|
|
MOD_LIBNAME := $(BUILD_D)/lib$(MOD_NAME).a
|
|
MOD_TARGETS += $(MOD_LIBNAME)
|
|
|
|
OBJS_$(MOD_NAME) := $(patsubst %,build/d.%.o,$(patsubst src/modules/%,%,$(SOURCES)))
|
|
|
|
$(MOD_LIBNAME): $(OBJS_$(MOD_NAME))
|
|
$(AR) cr $@ $(OBJS_$(MOD_NAME))
|
|
|
|
$(MOD_BUILD_D)/%.c.o: $(MOD_SRC_D)/%.c $(INIT_DEP)
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(MOD_BUILD_D)/%.s.o: $(MOD_SRC_D)/%.s $(BUILD_D)/versions.s $(INIT_DEP)
|
|
$(AS) $(ASFLAGS) -o $@ $<
|
|
|
|
DEPS += $(patsubst %.o,%.d,$(OBJS_$(MOD_NAME)))
|
|
|