[plain text]
RC_OS = macos
PROFILING = -DDYLD_PROFILING
OFLAG = -O
ifeq "macos" "$(RC_OS)"
X_CFLAGS := $(shell if [ "$(RC_RELEASE)" != "Beaker" ] && \
[ "$(RC_RELEASE)" != "Bunsen" ] && \
[ "$(RC_RELEASE)" != "Gonzo" ] && \
[ "$(RC_RELEASE)" != "Kodiak" ]; then \
echo -Wno-long-double -no-cpp-precomp -fno-builtin-round; \
fi; )
endif
MIG = $(NEXT_ROOT)/usr/bin/mig
ifneq "mwccppc" "$(notdir $(CC))"
MIG_FLAGS = $(PROFILING)
endif
ifeq "mwccppc" "$(notdir $(CC))"
CFLAGS = $(PROFILING) $(OFLAG) -g \
-I$(SRCROOT) -I$(SRCROOT)/../include -I$(OFILE_DIR) -I$(SRCROOT)/../dyld
else
CFLAGS = $(PROFILING) $(OFLAG) -g -Wall $(X_CFLAGS) \
-I$(SRCROOT) -I$(SRCROOT)/../include -I$(OFILE_DIR) -I$(SRCROOT)/../dyld
endif
USE_DEPENDENCY_FILE := $(shell if [ "$(notdir $(CC))" != "mwccppc" ] && \
[ "$(RC_XBS)" != "YES" ]; then \
echo YES ; else echo NO ; \
fi; )
ifneq "" "$(wildcard /bin/mkdirs)"
MKDIRS = /bin/mkdirs
else
MKDIRS = /bin/mkdir -p
endif
SRCROOT = .
SYMROOT = .
OBJROOT = .
OFILE_DIRS = $(OBJROOT)/shlib_obj $(OBJROOT)/profile_obj \
$(OBJROOT)/optimized_obj $(OBJROOT)/dynamic_obj \
$(OBJROOT)/ptmp_obj $(OBJROOT)/otmp_obj $(OBJROOT)/dtmp_obj
OFILE_DIR = $(OBJROOT)
VPATH = $(OFILE_DIR)
ifeq "macos" "$(RC_OS)"
SYSTEMDIR := $(shell if [ "$(RC_RELEASE)" = "Beaker" ] || \
[ "$(RC_RELEASE)" = "Bunsen" ] || \
[ "$(RC_RELEASE)" = "Gonzo" ]; then \
echo /Local/Developer/System; else echo /usr/local/lib/system; fi; )
else
SYSTEMDIR = /Local/Developer/System
endif
CFILES = images.c bind.c debug.c ofi.c runtime_loading.c dyld_support.c \
register_funcs.c objc_modules.c private_callback.c dlopen.c core.c
HFILES = dyld_debug_MsgError.h ofi.h dlfcn.h debug.h
INSTALL_FILES = $(CFILES) $(HFILES) shlib.ofileList dylib.ofileList Makefile \
notes dyld_debug_api
COMMON_OBJS = dyld.o dyld_debug.o objectfileimage.o runtime_loading.o \
dyld_support.o
SHLIB_OBJS = $(COMMON_OBJS)
OBJS = $(COMMON_OBJS) dyld_event_server.o
all: lib_ofiles
macos:
teflon: optimized_ofiles
nextstep: optimized_ofiles shlib_ofiles
lib_ofiles: $(OFILE_DIRS) $(SYMROOT) $(RC_OS) dynamic_ofiles profile_ofiles
shlib_ofiles: $(OBJROOT)/shlib_obj
@if [ $(SRCROOT) = . ]; \
then \
(cd shlib_obj; \
$(MAKE) -f ../Makefile $(SHLIB_OBJS) \
VPATH=.. \
OFILE_DIR=. \
SRCROOT=.. \
COPTS="-static -DSHLIB -I/LocalDeveloper/Headers/libsys" \
LIBSTUFF="-L../../libstuff -lstuff_s" \
OFLAG="$(OFLAG)" \
RC_CFLAGS="$(RC_CFLAGS)" \
RC_ARCHS="$(RC_ARCHS)"); \
rm -f shlib_obj/libdyld.ofileList; \
cp shlib.ofileList shlib_obj/libdyld.ofileList; \
else \
(cd $(OBJROOT)/shlib_obj; \
$(MAKE) -f $(SRCROOT)/Makefile $(SHLIB_OBJS) \
VPATH=$(SRCROOT) \
OFILE_DIR=$(OBJROOT)/shlib_obj \
SRCROOT=$(SRCROOT) \
SYMROOT=$(SYMROOT) \
COPTS="-static -DSHLIB -I/LocalDeveloper/Headers/libsys" \
LIBSTUFF="-L$(SYMROOT)/../libstuff -lstuff_s" \
OFLAG="$(OFLAG)" \
RC_CFLAGS="$(RC_CFLAGS)" \
RC_ARCHS="$(RC_ARCHS)"); \
rm -f $(OBJROOT)/shlib_obj/libdyld.ofileList; \
cp shlib.ofileList $(OBJROOT)/shlib_obj/libdyld.ofileList; \
fi
profile_ofiles: $(OBJROOT)/profile_obj $(OBJROOT)/ptmp_obj
@if [ $(SRCROOT) = . ]; \
then \
(cd ptmp_obj; \
$(MAKE) -f ../Makefile libdyld_pg.a \
VPATH=.. \
OFILE_DIR=. \
SRCROOT=.. \
COPTS="-dynamic -pg" \
LIBSTUFF="-L../../libstuff -lstuff_p" \
OFLAG="$(OFLAG)" \
RC_CFLAGS="$(RC_CFLAGS)" \
RC_ARCHS="$(RC_ARCHS)"); \
(cd profile_obj; rm -f $(OBJS)); \
(cd ptmp_obj; cp $(OBJS) ../profile_obj); \
rm -f dynamic_profile_obj; \
ln -s ./profile_obj dynamic_profile_obj; \
rm -f profile_obj/libdyld.ofileList; \
cp dylib.ofileList profile_obj/libdyld.ofileList; \
else \
(cd $(OBJROOT)/ptmp_obj; \
$(MAKE) -f $(SRCROOT)/Makefile libdyld_pg.a \
VPATH=$(SRCROOT) \
OFILE_DIR=$(OBJROOT)/ptmp_obj \
SRCROOT=$(SRCROOT) \
SYMROOT=$(SYMROOT) \
LIBSTUFF="-L$(SYMROOT)/../libstuff -lstuff_p" \
COPTS="-dynamic -pg" \
OFLAG="$(OFLAG)" \
RC_CFLAGS="$(RC_CFLAGS)" \
RC_ARCHS="$(RC_ARCHS)"); \
(cd $(OBJROOT)/profile_obj; rm -f $(OBJS)); \
(cd $(OBJROOT)/ptmp_obj; cp $(OBJS) $(OBJROOT)/profile_obj); \
rm -f $(OBJROOT)/dynamic_profile_obj; \
ln -s ./profile_obj $(OBJROOT)/dynamic_profile_obj; \
rm -f $(OBJROOT)/profile_obj/libdyld.ofileList; \
cp dylib.ofileList $(OBJROOT)/profile_obj/libdyld.ofileList; \
fi
optimized_ofiles: $(OBJROOT)/optimized_obj $(OBJROOT)/otmp_obj
@if [ $(SRCROOT) = . ]; \
then \
(cd otmp_obj; \
$(MAKE) -f ../Makefile libdyld_static.a \
VPATH=.. \
OFILE_DIR=. \
SRCROOT=.. \
COPTS="-static" \
LIBSTUFF="-L../../libstuff -lstuff" \
OFLAG="$(OFLAG)" \
RC_CFLAGS="$(RC_CFLAGS)" \
RC_ARCHS="$(RC_ARCHS)"); \
(cd optimized_obj; rm -f $(OBJS)); \
(cd otmp_obj; cp $(OBJS) ../optimized_obj); \
rm -f static_obj; \
ln -s ./optimized_obj static_obj; \
rm -f optimized_obj/libdyld.ofileList; \
cp dylib.ofileList optimized_obj/libdyld.ofileList; \
else \
(cd $(OBJROOT)/otmp_obj; \
$(MAKE) -f $(SRCROOT)/Makefile libdyld_static.a \
VPATH=$(SRCROOT) \
OFILE_DIR=$(OBJROOT)/otmp_obj \
SRCROOT=$(SRCROOT) \
SYMROOT=$(SYMROOT) \
COPTS="-static" \
LIBSTUFF="-L$(SYMROOT)/../libstuff -lstuff" \
OFLAG="$(OFLAG)" \
RC_CFLAGS="$(RC_CFLAGS)" \
RC_ARCHS="$(RC_ARCHS)"); \
(cd $(OBJROOT)/optimized_obj; rm -f $(OBJS)); \
(cd $(OBJROOT)/otmp_obj; cp $(OBJS) $(OBJROOT)/optimized_obj); \
rm -f $(OBJROOT)/static_obj; \
ln -s ./optimized_obj $(OBJROOT)/static_obj; \
rm -f $(OBJROOT)/optimized_obj/libdyld.ofileList; \
cp dylib.ofileList $(OBJROOT)/optimized_obj/libdyld.ofileList; \
fi
dynamic_ofiles: $(OBJROOT)/dynamic_obj $(OBJROOT)/dtmp_obj
@if [ $(SRCROOT) = . ]; \
then \
(cd dtmp_obj; \
$(MAKE) -f ../Makefile libdyld.a \
VPATH=.. \
OFILE_DIR=. \
SRCROOT=.. \
COPTS="-dynamic" \
LIBSTUFF="-L../../libstuff -lstuff" \
OFLAG="$(OFLAG)" \
RC_CFLAGS="$(RC_CFLAGS)" \
RC_ARCHS="$(RC_ARCHS)"); \
(cd dynamic_obj; rm -f $(OBJS)); \
(cd dtmp_obj; cp $(OBJS) ../dynamic_obj); \
rm -f dynamic_obj/libdyld.ofileList; \
cp dylib.ofileList dynamic_obj/libdyld.ofileList; \
else \
(cd $(OBJROOT)/dtmp_obj; \
$(MAKE) -f $(SRCROOT)/Makefile libdyld.a \
VPATH=$(SRCROOT) \
OFILE_DIR=$(OBJROOT)/dtmp_obj \
SRCROOT=$(SRCROOT) \
SYMROOT=$(SYMROOT) \
LIBSTUFF="-L$(SYMROOT)/../libstuff -lstuff" \
COPTS="-dynamic" \
OFLAG="$(OFLAG)" \
RC_CFLAGS="$(RC_CFLAGS)" \
RC_ARCHS="$(RC_ARCHS)"); \
(cd $(OBJROOT)/dynamic_obj; rm -f $(OBJS)); \
(cd $(OBJROOT)/dtmp_obj; cp $(OBJS) $(OBJROOT)/dynamic_obj); \
rm -f $(OBJROOT)/dynamic_obj/libdyld.ofileList; \
cp dylib.ofileList $(OBJROOT)/dynamic_obj/libdyld.ofileList; \
fi
dyld.o: images.o bind.o register_funcs.o objc_modules.o
$(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -nostdlib -r -o $@ \
images.o bind.o register_funcs.o objc_modules.o
dyld_debug.o: debug.o _dyld_debugUser.o _dyld_eventServer.o core.o
$(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -nostdlib -r -o $@ \
debug.o _dyld_debugUser.o _dyld_eventServer.o core.o
nmedit -arch all -s $(SRCROOT)/dyld_debug_api $@
dyld_event_server.o: _dyld_eventServer.o private_callback.o
$(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -nostdlib -r -o $@ \
_dyld_eventServer.o private_callback.o
objectfileimage.o: ofi.o ofile.o
$(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -nostdlib -r -o $@ \
ofi.o ofile.o $(LIBSTUFF)
ofile.o: $(SRCROOT)/../libstuff/ofile.c
ifeq "NO" "$(USE_DEPENDENCY_FILE)"
$(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -c -o $(OFILE_DIR)/$*.o \
$(SRCROOT)/../libstuff/ofile.c -DOFI
else
$(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -c -MD -dependency-file \
$(OFILE_DIR)/$*.d -o $(OFILE_DIR)/$*.o \
$(SRCROOT)/../libstuff/ofile.c -DOFI
md -d -u $(OFILE_DIR)/Makedep $(OFILE_DIR)/$*.d
endif
debug.c: _dyld_debug.h
_dyld_debug.h: _dyld_debugUser.c
_dyld_debugUser.c: $(SRCROOT)/../dyld/dyld_debug.defs dyld_debug_MsgError.h
@if [ $(SRCROOT) = .. ]; \
then \
echo "$(MIG) $(MIG_FLAGS) $(SRCROOT)/../dyld/dyld_debug.defs"; \
$(MIG) $(MIG_FLAGS) $(SRCROOT)/../dyld/dyld_debug.defs; \
rm -f _dyld_debugServer.c; \
else \
echo -n "cd $(OFILE_DIR)" ; \
echo "$(MIG) $(MIG_FLAGS) $(SRCROOT)/../dyld/dyld_debug.defs"; \
cd $(OFILE_DIR); \
$(MIG) $(MIG_FLAGS) $(SRCROOT)/../dyld/dyld_debug.defs; \
cd $(OFILE_DIR); rm -f _dyld_debugServer.c; \
fi
_dyld_debugUser.o: _dyld_debugUser.c
ifeq "mwccppc" "$(notdir $(CC))"
cd $(OFILE_DIR); \
$(CC) $(CFLAGS) $(RC_CFLAGS) $(COPTS) -c _dyld_debugUser.c
else
cd $(OFILE_DIR); \
$(CC) $(CFLAGS) $(RC_CFLAGS) $(COPTS) \
-Dmig_external=__private_extern__ -c _dyld_debugUser.c
endif
_dyld_eventServer.c: $(SRCROOT)/../dyld/dyld_event.defs
@if [ $(SRCROOT) = .. ]; \
then \
echo "$(MIG) $(MIG_FLAGS) $(SRCROOT)/../dyld/dyld_event.defs"; \
$(MIG) $(MIG_FLAGS) $(SRCROOT)/../dyld/dyld_event.defs; \
rm -f _dyld_eventUser.c _dyld_event.h; \
else \
echo -n "cd $(OFILE_DIR)"; \
echo "$(MIG) $(MIG_FLAGS) $(SRCROOT)/../dyld/dyld_event.defs"; \
cd $(OFILE_DIR); \
$(MIG) $(MIG_FLAGS) $(SRCROOT)/../dyld/dyld_event.defs; \
cd $(OFILE_DIR); rm -f _dyld_eventUser.c _dyld_event.h; \
fi
_dyld_eventServer.o: _dyld_eventServer.c
cd $(OFILE_DIR); \
sed -e 's/static const SERVER_STUB_PROC/static SERVER_STUB_PROC/' \
_dyld_eventServer.c > sed._dyld_eventServer.c ; \
$(CC) $(CFLAGS) $(RC_CFLAGS) $(COPTS) -c sed._dyld_eventServer.c \
-o _dyld_eventServer.o
ifeq "NO" "$(USE_DEPENDENCY_FILE)"
.c.o:
$(CC) $(CFLAGS) $(RC_CFLAGS) $(COPTS) -c -o $(OFILE_DIR)/$*.o $<
else
.c.o:
$(CC) $(CFLAGS) $(RC_CFLAGS) $(COPTS) -c \
-MD -dependency-file $(OFILE_DIR)/$*.d \
-o $(OFILE_DIR)/$*.o $<
md -d -u $(OFILE_DIR)/Makedep $(OFILE_DIR)/$*.d
endif
clean:
-rm -r -f $(OFILE_DIRS) $(OBJROOT)/static_obj
shlib_clean:
-rm -r -f $(OBJROOT)/ptmp_obj $(OBJROOT)/otmp_obj $(OBJROOT)/dtmp_obj
libdyld.a libdyld_pg.a libdyld_static.a: $(OBJS)
libtool -static -o $(SYMROOT)/$@ $(OBJS)
install: $(RC_OS)_install
macos_install:
teflon_install nextstep_install: all
lib_ofiles_install: $(RC_OS)_lib_ofiles_install
macos_lib_ofiles_install: all
@if [ $(OLD_DYLD_STUFF) ]; \
then \
$(MKDIRS) $(DSTROOT)$(SYSTEMDIR); \
if [ $(SRCROOT) = . ]; \
then \
install -c -m 444 dtmp_obj/libdyld.a \
$(DSTROOT)$(SYSTEMDIR)/libdyld.a; \
ranlib $(DSTROOT)$(SYSTEMDIR)/libdyld.a; \
(cd $(DSTROOT)$(SYSTEMDIR); \
rm -f libdyld_debug.a; ln -s libdyld.a libdyld_debug.a); \
install -c -m 444 ptmp_obj/libdyld_pg.a \
$(DSTROOT)$(SYSTEMDIR)/libdyld_profile.a; \
ranlib $(DSTROOT)$(SYSTEMDIR)/libdyld_profile.a; \
else \
install -c -m 444 $(SYMROOT)/libdyld.a \
$(DSTROOT)$(SYSTEMDIR)/libdyld.a; \
ranlib $(DSTROOT)$(SYSTEMDIR)/libdyld.a; \
(cd $(DSTROOT)$(SYSTEMDIR); \
rm -f libdyld_debug.a; ln -s libdyld.a libdyld_debug.a); \
install -c -m 444 $(SYMROOT)/libdyld_pg.a \
$(DSTROOT)$(SYSTEMDIR)/libdyld_profile.a; \
ranlib $(DSTROOT)$(SYSTEMDIR)/libdyld_profile.a; \
fi; \
fi
teflon_lib_ofiles_install nextstep_lib_ofiles_install:
installsrc:
$(MKDIRS) $(SRCROOT)
chmod 755 $(SRCROOT)
gnutar cf - $(INSTALL_FILES) | (cd $(SRCROOT); gnutar xf -)
chmod 444 $(SRCROOT)/*
$(OFILE_DIRS) $(SYMROOT):
$(MKDIRS) $@
-include $(OFILE_DIR)/Makedep
Generated by GNU enscript 1.6.4.