LIBSAIODIR = ../../libsaio␊ |
BOOT2DIR = ../../boot2␊ |
␊ |
MODULE_DEPENDENCIES := $(foreach x,$(MODULE_DEPENDENCIES),-weak_library $(SYMROOT)/$(x).dylib)␊ |
␊ |
␊ |
INSTALLDIR = $(DSTROOT)/System/Library/Frameworks/System.framework/Versions/B/PrivateHeaders/standalone␊ |
␊ |
dylib: ${MODULE_OBJS} dylib_final␊ |
␊ |
HAVE_MODULES := $(wildcard $(SYMROOT)/*.dylib)␊ |
##IS_CPP_MODULE = $(shell nm $(OBJROOT)/*.o | grep " __Z")␊ |
␊ |
ifneq ($(strip $(HAVE_MODULES)),) ␊ |
#### Other modules Exist ####␊ |
dylib_final: ␊ |
␉@rm -rf $(SYMROOT)/$(MODULE_NAME).dylib␉#ensure module doesn't link with old version of self␊ |
␉@echo "\t[LD] $(MODULE_NAME).dylib"␊ |
|
␉-L$(SYMROOT)/ \␊ |
␉$(OBJROOT)/*.o \␊ |
␉-weak_library $(OBJROOT)/../../boot2/Symbols_LINKER_ONLY.dylib \␊ |
␉-weak_library $(SYMROOT)/*.dylib \␊ |
␉$(MODULE_DEPENDENCIES) \␊ |
␉-macosx_version_min 10.6 \␊ |
␉-o $(SYMROOT)/$(MODULE_NAME).dylib␊ |
␉␊ |
␉@cp -rf include/* ../module_includes/ &> /dev/null || true␊ |
␉␊ |
else␊ |
␊ |
#### This is the first module ####␊ |
dylib_final:␊ |
␉@rm -rf $(SYMROOT)/$(MODULE_NAME).dylib␉#ensure module doesn't link with old version of self␊ |
␉@echo "\t[LD] $(MODULE_NAME).dylib"␊ |
␉@ld -arch i386 \␊ |
␉-alias $(MODULE_START) start \␊ |
␉-dylib -read_only_relocs suppress \␊ |
␉-S -x -Z -dead_strip_dylibs \␊ |
␉-no_uuid \␊ |
␉-current_version $(MODULE_VERSION) -compatibility_version $(MODULE_COMPAT_VERSION) \␊ |
␉-final_output $(MODULE_NAME) \␊ |
␉-L$(OBJROOT)/ \␊ |
␉-L$(OBJROOT)/../ \␊ |
␉-L$(SYMROOT)/ \␊ |
␉$(OBJROOT)/*.o \␊ |
␉-weak_library $(OBJROOT)/../../boot2/Symbols_LINKER_ONLY.dylib \␊ |
␉-macosx_version_min 10.6 \␊ |
␉-o $(SYMROOT)/$(MODULE_NAME).dylib␊ |
␊ |
␉@cp -rf include/* ../module_includes/ &> /dev/null || true␊ |
endif␊ |
␊ |
%.o: %.c␊ |
␉@echo "\t[CC] $<"␊ |
␉@$(CC) $(CPPFLAGS) $(CFLAGS) -I../include/ -Iinclude/ -I../module_includes/ -D__KLIBC__ $(DEFINES) -c "$<" $(INC) -o "$(OBJROOT)/$@"␊ |