# Makefile for i386 modules SRCROOT = $(shell pwd)/../../ OBJROOT = $(SRCROOT)/obj/i386/modules/ SYMROOT = $(SRCROOT)/sym/i386 DSTROOT = $(SRCROOT)/dst/i386 DOCROOT = $(SRCROOT)/doc IMGROOT = $(SRCROOT)/sym/cache IMGSKELROOT = $(SRCROOT)/imgskel CDBOOT = ${IMGROOT}/usr/standalone/i386/cdboot include ${SRCROOT}/Make.rules # The order of building is important. SUBDIRS = klibc uClibcxx Resolution HelloWorld CFLAGS= -O3 $(MORECPP) -arch i386 -g -static DEFINES= CONFIG = hd LIBSAIODIR = $(SRCROOT)/i386/libsaio INC = -I$(LIBSAIODIR) ifeq (${CONFIG_MODULES}, y) all: $(SYMROOT) $(OBJROOT) objroot_dirs $(SYMROOT)/boot_modules.c $(SYMROOT)/boot_modules.h @for i in ${SUBDIRS}; \ do \ echo ================= make $@ for $$i =================; \ ( cd $$i; $(MKDIRS) $(OBJROOT)/$$i; ${MAKE} \ "OBJROOT=$(OBJROOT)/$$i" \ "SYMROOT=$(SYMROOT)/" \ "DSTROOT=$(DSTROOT)/" \ "SRCROOT=$(SRCROOT)" \ "RC_ARCHS=$(RC_ARCHS)" \ "RC_KANJI=$(RC_KANJI)" \ "JAPANESE=$(JAPANESE)" \ "RC_CFLAGS=$(RC_CFLAGS)" $@ \ ) || exit $$?; \ done @# Finish up boot_modules.c @echo "}" >> $(SYMROOT)/boot_modules.c else all: $(SYMROOT) $(OBJROOT) objroot_dirs $(SYMROOT)/boot_modules.c $(SYMROOT)/boot_modules.h @# Finish up boot_modules.c @echo "}" >> $(SYMROOT)/boot_modules.c endif .PHONY: objroot_dirs .PHONY: $(SYMROOT)/boot_modules.h .PHONY: $(SYMROOT)/boot_modules.c objroot_dirs: @${MKDIRS} "$(SYMROOT)/modules/" $(SYMROOT)/boot_modules.c: ${OBJROOT} ${SYMROOT}/modules/ ${OBJROOT} $(addprefix $(OBJROOT)/, ${MODULE_OBJS}) ifeq ($(BUILT_IN),yes) @echo "// Autogenerated - do not modify" > $@ @echo "#include " >> $@ @echo "#include \"boot_modules.h\"" >> $@ @echo "void start_built_in_modules() {" >> $@ endif $(SYMROOT)/boot_modules.h: ${OBJROOT} ${SYMROOT}/modules/ ${OBJROOT} $(addprefix $(OBJROOT)/, ${MODULE_OBJS}) ifeq ($(BUILT_IN),yes) @echo "// Autogenerated - do not modify" > $@ @echo "void start_built_in_modules(); " > $@ endif