Files
MX_Pmodule/Programming/ld64/files/Makefile-274
Achim Gsell 2eac7e159c Programming/ld64
- build-block added
2017-11-20 17:44:33 +01:00

107 lines
3.5 KiB
Plaintext

ifdef LLVM_CONFIG
LLVM_CPPFLAGS := -I$(shell $(LLVM_CONFIG) --includedir) -DLTO_SUPPORT
LLVM_LDFLAGS := -L$(shell $(LLVM_CONFIG) --libdir) -Wl,-rpath,$(shell $(LLVM_CONFIG) --libdir) -lLTO
endif
CPPFLAGS = $(LLVM_CPPFLAGS) -Isrc/abstraction -Isrc/ld -Isrc/ld/parsers $(OTHER_CPPFLAGS)
CFLAGS = -Os $(OTHER_CFLAGS)
CXXFLAGS = -Os $(OTHER_CXXFLAGS)
LDFLAGS = $(OTHER_LDFLAGS)
ifndef RANLIB
RANLIB = ranlib
endif
ifndef AR
AR = ar
endif
ifndef PREFIX
PREFIX = /usr
endif
# libprunetrie.a
all : src/ld/configure.h ObjectDump dyldinfo ld machocheck rebase unwinddump
src/ld/Snapshot.o : src/ld/compile_stubs.h
src/ld/compile_stubs.h : compile_stubs
echo "static const char *compile_stubs = " > $@
cat $^ | sed s/\"/\\\\\"/g | sed s/^/\"/ | sed s/$$/\\\\n\"/ >> $@
echo ";" >> $@
src/ld/configure.h : src/create_configure
DERIVED_SOURCES_DIR=src/ld DERIVED_FILE_DIR=src/ld $^ > $@
ObjectDump : src/ld/debugline.o
ObjectDump : src/ld/parsers/macho_relocatable_file.o
ObjectDump : src/ld/parsers/lto_file.o
ObjectDump : src/other/ObjectDump.o
$(CXX) $(LLVM_LDFLAGS) $(LDFLAGS) $^ -o $@
dyldinfo : src/other/dyldinfo.o
$(CXX) $(LDFLAGS) -Wl,-exported_symbol,__mh_execute_header $^ -o $@
ld : src/ld/debugline.o
ld : src/ld/ld.o
ld : src/ld/InputFiles.o
ld : src/ld/Options.o
ld : src/ld/OutputFile.o
ld : src/ld/Resolver.o
ld : src/ld/Snapshot.o
ld : src/ld/SymbolTable.o
ld : src/ld/parsers/archive_file.o
ld : src/ld/parsers/lto_file.o
ld : src/ld/parsers/macho_dylib_file.o
ld : src/ld/parsers/macho_relocatable_file.o
ld : src/ld/parsers/opaque_section_file.o
ld : src/ld/parsers/textstub_dylib_file.o
ld : src/ld/passes/bitcode_bundle.o
ld : src/ld/passes/branch_island.o
ld : src/ld/passes/branch_shim.o
ld : src/ld/passes/code_dedup.o
ld : src/ld/passes/compact_unwind.o
ld : src/ld/passes/dtrace_dof.o
ld : src/ld/passes/dylibs.o
ld : src/ld/passes/got.o
ld : src/ld/passes/huge.o
ld : src/ld/passes/objc.o
ld : src/ld/passes/order.o
ld : src/ld/passes/tlvp.o
ld : src/ld/passes/stubs/stubs.o
$(CXX) $(LLVM_LDFLAGS) $(LDFLAGS) $(OTHER_LDFLAGS_LD64) -Wl,-exported_symbol,__mh_execute_header $^ -lxar -o $@
machocheck : src/other/machochecker.o
$(CXX) $(LDFLAGS) $^ -o $@
rebase : src/other/rebase.o
$(CXX) $(LDFLAGS) -Wl,-exported_symbol,__mh_execute_header $^ -o $@
unwinddump : src/other/unwinddump.o
$(CXX) $(LDFLAGS) -Wl,-exported_symbol,__mh_execute_header $^ -o $@
src/other/PruneTrie.o : src/ld/configure.h
libprunetrie.a : src/other/PruneTrie.o
$(AR) cru $@ $^
$(RANLIB) $@
install : all
install -d -m 755 $(DESTDIR)$(PREFIX)/bin
install -d -m 755 $(DESTDIR)$(PREFIX)/lib
install -d -m 755 $(DESTDIR)$(PREFIX)/include/mach-o
install -d -m 755 $(DESTDIR)$(PREFIX)/share/man/man1
install -m 755 ObjectDump $(DESTDIR)$(PREFIX)/bin
install -m 755 dyldinfo $(DESTDIR)$(PREFIX)/bin
install -m 755 ld $(DESTDIR)$(PREFIX)/bin
install -m 755 machocheck $(DESTDIR)$(PREFIX)/bin
install -m 755 rebase $(DESTDIR)$(PREFIX)/bin
install -m 755 unwinddump $(DESTDIR)$(PREFIX)/bin
#install -m 644 src/other/prune_trie.h $(DESTDIR)$(PREFIX)/include/mach-o
#install -m 644 libprunetrie.a $(DESTDIR)$(PREFIX)/lib
install -m 644 doc/man/man1/dyldinfo.1 $(DESTDIR)$(PREFIX)/share/man/man1
install -m 644 doc/man/man1/ld.1 $(DESTDIR)$(PREFIX)/share/man/man1
install -m 644 doc/man/man1/ld64.1 $(DESTDIR)$(PREFIX)/share/man/man1
install -m 644 doc/man/man1/rebase.1 $(DESTDIR)$(PREFIX)/share/man/man1
install -m 644 doc/man/man1/unwinddump.1 $(DESTDIR)$(PREFIX)/share/man/man1