SRCROOT = $(shell pwd)/../../../␊ |
OBJROOT = $(SRCROOT)/obj/i386/modules/$(DIR)␊ |
SYMROOT = $(SRCROOT)/sym/i386/modules/␊ |
DSTROOT = $(SRCROOT)/dst/i386␊ |
DOCROOT = $(SRCROOT)/doc␊ |
IMGROOT = $(SRCROOT)/sym/cache␊ |
IMGSKELROOT = $(SRCROOT)/imgskel␊ |
CDBOOT = ${IMGROOT}/usr/standalone/i386/cdboot␊ |
ROOT = $(shell pwd)/../../../␊ |
SRCROOT = ${ROOT}/src␊ |
OBJROOT = $(ROOT)/obj/modules/$(DIR)␊ |
SYMROOT = $(ROOT)/sym/modules␊ |
DSTROOT = $(ROOT)/dst/usr/standalone/modules␊ |
DOCROOT = $(ROOT)/doc␊ |
␊ |
␊ |
ifeq ($(BUILT_IN),yes)␊ |
override OBJROOT = $(SRCROOT)/obj/i386/boot2_modules/$(DIR)␊ |
override SYMROOT = $(SRCROOT)/obj/i386/␊ |
override SYMROOT = $(ROOT)/obj/modules/␊ |
override OBJROOT = $(ROOT)/obj/boot2_modules/$(DIR)␊ |
endif␊ |
␊ |
include ${SRCROOT}/Make.rules␊ |
include ${ROOT}/Make.rules␊ |
␊ |
␊ |
ifeq ($(BUILT_IN),yes)␊ |
␊ |
CFLAGS␉:= $(RC_CFLAGS) $(OPTIM) $(MORECPP) -arch i386 -g -Wmost -Werror \␊ |
|
INC = -I$(SRCROOT)/sym/i386/ -I$(SRCROOT)/i386/modules/include/ -Iinclude/ -I$(SRCROOT)/i386/libsaio/ -I$(SRCROOT)/i386/libsa/ -I$(SRCROOT)/i386/include/ -I$(SRCROOT)/i386/boot2/ $(MODULE_INCLUDES)␊ |
DEFINES := -D__KLIBC__ $(DEFINES)␊ |
␊ |
MODULE_DEPENDENCIES := $(wildcard $(foreach x,$(MODULE_DEPENDENCIES),$(SYMROOT)/modules/$(x).dylib)) \␊ |
MODULE_DEPENDENCIES := $(wildcard $(foreach x,$(MODULE_DEPENDENCIES),$(SYMROOT)/$(x).dylib)) \␊ |
␉␉␉␉␉␉$(wildcard $(foreach x,$(MODULE_DEPENDENCIES),$(OBJROOT)/../$(x).dylib))␊ |
␊ |
MODULE_DEPENDENCIES_CMD := $(foreach x,$(MODULE_DEPENDENCIES), -weak_library $(x))␊ |
|
ifeq ($(MODULE_DEFINITION),m)␊ |
ifneq ($(BUILT_IN),yes)␊ |
␊ |
# Make this as a *MODULE*␊ |
all: dylib␊ |
###### Make this as a *MODULE* ######␊ |
all: ${OBJROOT} dylib␊ |
␊ |
else␊ |
# Module not selected to be compiled as a module␊ |
␊ |
###### Don't Compile Module ######␊ |
all:␊ |
␊ |
endif␊ |
␊ |
else␊ |
␊ |
ifeq ($(MODULE_DEFINITION),y)␊ |
ifeq ($(BUILT_IN),yes)␊ |
␊ |
# Make this *BUILT IN*␊ |
all: dylib_LINKER␊ |
####### Make this *BUILT IN* ######␊ |
all: ${OBJROOT} dylib_LINKER␊ |
␊ |
else␊ |
# Module not selected to be built in␊ |
####### Don't build in module ######␊ |
all:␊ |
␊ |
endif␊ |
else␊ |
␊ |
# Don't compile this module␊ |
####### Don't Compile Module ######␊ |
all:␊ |
␊ |
endif␊ |
endif␊ |
␊ |
␊ |
dylib_LINKER: $(SRCROOT)/sym/i386/boot_modules.c $(SRCROOT)/sym/i386/boot_modules.h dylib ␊ |
dylib_LINKER: ${OBJROOT} $(SYMROOT)/boot_modules.c $(SYMROOT)/boot_modules.h dylib ␊ |
dylib: ␉␉ ${OBJROOT} $(SYMROOT)/$(MODULE_NAME).dylib␊ |
␊ |
dylib: ${SYMROOT}/modules/ ${OBJROOT} $(SYMROOT)/modules/$(MODULE_NAME).dylib␊ |
␊ |
␊ |
ifeq ($(BUILT_IN),yes)␊ |
␊ |
$(SYMROOT)/modules/$(MODULE_NAME).dylib: $(addprefix $(OBJROOT)/, ${MODULE_OBJS}) $(MODULE_DEPENDENCIES) $(OBJROOT)/$(MODULE_NAME).desc $(OBJROOT)/$(MODULE_NAME).author Makefile␊ |
###### Build module into the code binary ######␊ |
$(SYMROOT)/$(MODULE_NAME).dylib: $(MODULE_DEPENDENCIES) ${MODULE_OBJECTS} $(OBJROOT)/$(MODULE_NAME).desc $(OBJROOT)/$(MODULE_NAME).author Makefile␊ |
␉@echo "\t[LD] $(MODULE_NAME).dylib"␊ |
␉@ld -arch i386 -undefined dynamic_lookup \␊ |
␉-dylib -read_only_relocs suppress \␊ |
|
␊ |
else␊ |
␊ |
$(SYMROOT)/modules/$(MODULE_NAME).dylib: $(addprefix $(OBJROOT)/, ${MODULE_OBJS}) $(MODULE_DEPENDENCIES) $(OBJROOT)/$(MODULE_NAME).desc $(OBJROOT)/$(MODULE_NAME).author $(SRCROOT)/obj/i386/boot2/Symbols_LINKER_ONLY.dylib Makefile␊ |
##### BUild module as a seperate module #####␊ |
$(SYMROOT)/modules/$(MODULE_NAME).dylib: $(MODULE_DEPENDENCIES) ${MODULE_OBJECTS} $(OBJROOT)/$(MODULE_NAME).desc $(OBJROOT)/$(MODULE_NAME).author $(SRCROOT)/obj/i386/boot2/Symbols_LINKER_ONLY.dylib Makefile␊ |
␉@echo "\t[LD] $(MODULE_NAME).dylib"␊ |
␉␊ |
␉@ld -arch i386 \␊ |
|
endif␊ |
␊ |
␊ |
clean:␊ |
␉@echo "\t[RM] $(SYMROOT)/modules/$(MODULE_NAME).dylib"␊ |
␉@echo "\t[RM] $(OBJROOT)"␊ |
␉@echo "\t[RM] $(DSTROOT)"␊ |
␉@echo "\t[RM] $(SRCROOT)/revision"␊ |
␉@echo "\t[RM] $(SRCROOT)/i386/modules/module_includes"␊ |
␉@rm -rf $(SYMROOT)/modules/$(MODULE_NAME).dylib &> /dev/null␊ |
␉@rm -rf $(OBJROOT) $(DSTROOT) $(SRCROOT)/revision $(SRCROOT)/i386/modules/module_includes␊ |
#clean:␊ |
#␉@echo "\t[RM] $(SYMROOT)/modules/$(MODULE_NAME).dylib"␊ |
#␉@echo "\t[RM] $(OBJROOT)"␊ |
#␉@echo "\t[RM] $(DSTROOT)"␊ |
#␉@echo "\t[RM] $(SRCROOT)/revision"␊ |
#␉@echo "\t[RM] $(SRCROOT)/i386/modules/module_includes"␊ |
#␉@rm -rf $(SYMROOT)/modules/$(MODULE_NAME).dylib &> /dev/null␊ |
#␉@rm -rf $(OBJROOT) $(DSTROOT) $(SRCROOT)/revision $(SRCROOT)/i386/modules/module_includes␊ |
␊ |
␉␊ |
${SYMROOT}/modules/:␊ |
␉@echo "\t[MKDIR] $@"␊ |
␉@$(MKDIRS) $@␊ |
␊ |
␉␊ |
.PHONY: $(SYMROOT)/boot_modules.h␊ |
.PHONY: $(SYMROOT)/boot_modules.c␊ |
␊ |
.PHONY: $(SRCROOT)/sym/i386/boot_modules.h␊ |
.PHONY: $(SRCROOT)/sym/i386/boot_modules.c␊ |
␊ |
$(SRCROOT)/sym/i386/boot_modules.c: ␊ |
$(SYMROOT)/boot_modules.c: ␊ |
␉@echo "\tstart_built_in_module(\"$(MODULE_NAME)\", \"$(MODULE_AUTHOR)\", \"$(MODULE_DESCRIPTION)\", 0, 0, &$(MODULE_START));" >> $@␊ |
␉␊ |
$(SRCROOT)/sym/i386/boot_modules.h:␊ |
$(SYMROOT)/boot_modules.h:␊ |
␉@echo "void $(MODULE_START)(); // $(MODULE_NAME)" >> $@␊ |
␉␊ |
$(OBJROOT)/$(MODULE_NAME).author: Makefile␊ |