X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/3e170ce000f1506b7b5d2c5c7faec85ceabb573d..f427ee49d309d8fc33ebf3042c3a775f2f530ded:/libkern/kxld/Makefile diff --git a/libkern/kxld/Makefile b/libkern/kxld/Makefile index cc20497a1..68f8f6e7d 100644 --- a/libkern/kxld/Makefile +++ b/libkern/kxld/Makefile @@ -38,7 +38,7 @@ ifdef INSTALL_LOCATION override DSTROOT := $(DSTROOT)/$(INSTALL_LOCATION) endif -PRODUCT_TYPE ?= DYLIB +PRODUCT_TYPE ?= ALL HDRDST=$(DSTROOT)/usr/local/include DYLIBDST=$(DSTROOT)/usr/lib/system @@ -57,6 +57,9 @@ LIBKXLDDST_ARCHIVE=$(ARCHIVEDST)/$(LIBKXLD_ARCHIVE) TESTSRC=$(SRCROOT)/tests TESTDST=./BUILD/tests +# Build both the dylib and archive +LIBKXLDDST_ALL=$(LIBKXLDDST_DYLIB) $(LIBKXLDDST_ARCHIVE) + # Flags ifdef SDKROOT SDK_DIR := $(shell xcodebuild -version -sdk $(SDKROOT) Path) @@ -66,6 +69,7 @@ ifeq ($(strip $(SDK_DIR)),) SDK_DIR := / endif + DEFINES = -DPRIVATE CFLAGS=-std=c99 -Wall -Wextra -Werror -pedantic -Wformat=2 -Wcast-align \ -Wwrite-strings -Wshorten-64-to-32 -Wshadow -Winit-self -Wpointer-arith \ @@ -84,16 +88,15 @@ endif # Tools CC = xcrun -sdk $(SDK_DIR) clang -CLANG_ANALYZER = clang --analyze LIBTOOL = xcrun -sdk $(SDK_DIR) libtool STRIP = xcrun -sdk $(SDK_DIR) strip DSYMUTIL = xcrun -sdk $(SDK_DIR) dsymutil # Files -HDR_NAMES=kxld.h kxld_types.h +HDR_NAMES=kxld.h kxld_types.h prelink.h OBJ_NAMES=kxld.o kxld_array.o kxld_copyright.o kxld_demangle.o kxld_dict.o \ kxld_kext.o kxld_object.o kxld_reloc.o kxld_sect.o kxld_seg.o \ - kxld_srcversion.o kxld_sym.o kxld_symtab.o kxld_util.o kxld_uuid.o \ + kxld_srcversion.o kxld_splitinfolc.o kxld_sym.o kxld_symtab.o kxld_util.o kxld_uuid.o \ kxld_vtable.o kxld_versionmin.o HDRS=$(addprefix $(HDRSRC)/, $(HDR_NAMES)) @@ -140,6 +143,7 @@ $(LIBKXLDSYM_ARCHIVE): $(LIBKXLDOBJ_ARCHIVE) @mkdir -p $(SYMROOT) install -c -m 644 $< $@ + $(LIBKXLDOBJ_DYLIB): $(OBJS) $(CC) $(LDFLAGS) -o $@ $^ @@ -161,8 +165,7 @@ $(LIBKXLDDST_ARCHIVE): $(LIBKXLDSYM_ARCHIVE) @mkdir -p $(ARCHIVEDST) install -o 0 -g 0 -c -m 555 $< $@ - -KEXTCOPYOBJS=$(OBJROOT)/kextcopyright.o $(OBJROOT)/kxld_copyright.o $(OBJROOT)/kxld_util.o +KEXTCOPYOBJS=$(OBJROOT)/kextcopyright.o $(OBJROOT)/kxld_copyright.o $(OBJROOT)/kxld_util.o kextcopyright: $(TESTDST)/kextcopyright $(TESTDST)/kextcopyright: $(KEXTCOPYOBJS) @mkdir -p $(TESTDST) @@ -193,12 +196,7 @@ $(TESTDST)/copyrighttest: $(COPYTESTOBJS) $(CC) $(ARCHS) $(COPYTESTOBJS) -framework CoreFoundation -framework IOKit -o $(OBJROOT)/copyrighttest install -c -m 755 $(OBJROOT)/copyrighttest $@ -analyze: - @$(CLANG_ANALYZER) $(CFLAGS) $(INCLUDES) $(filter-out WKdm%.c,$(wildcard *.c)) - @$(CLANG_ANALYZER) $(CFLAGS) $(INCLUDES) -I$(SRCROOT) tests/*.c - @rm -f *.plist - -clean: +clean: @rm -rf $(OBJROOT)/* fullclean: @@ -211,4 +209,3 @@ endif # Automatically build dependency information when .c or .h files change based # on implicit rule for .d:.c -include $(OBJS:.o=.d) -