| CPPFLAGS += -Iinclude -Iabstraction -Ild -Ild/parsers -Iother -I. |
| |
| # some files generate warnings about applying offsetof to a non-POD type. |
| # Upstream seems aware of that and ignores by setting |
| # GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO in the xcode project. |
| CXXFLAGS += -Wno-invalid-offsetof |
| |
| all: rebase unwinddump dyldinfo ld64 ObjectDump machocheck |
| |
| libprunetrie.a: other/PruneTrie.o other/prune_trie.h |
| $(AR) -s -r -c libprunetrie.a other/PruneTrie.o |
| |
| LD64LIBS=ld/parsers/archive_file.o ld/parsers/macho_relocatable_file.o \ |
| ld/parsers/opaque_section_file.o \ |
| ld/parsers/macho_dylib_file.o \ |
| ld/passes/branch_island.o ld/passes/dylibs.o ld/passes/order_file.o \ |
| ld/passes/branch_shim.o ld/passes/got.o ld/passes/tlvp.o \ |
| ld/passes/compact_unwind.o ld/passes/huge.o \ |
| ld/passes/dtrace_dof.o ld/passes/objc.o \ |
| ld/passes/stubs/stubs.o \ |
| ld/InputFiles.o ld/OutputFile.o ld/SymbolTable.o \ |
| ld/Options.o ld/Resolver.o ld/debugline.o ld/ld.o |
| |
| ifeq ($(LTO),1) |
| CPPFLAGS += -DLTO |
| LTO_OBJ = ld/parsers/lto_file.o |
| LIBLTO = -lLTO |
| else |
| LTO_OBJ = |
| LIBLTO = |
| endif |
| |
| ld64: libprunetrie.a version.o $(LD64LIBS) $(LTO_OBJ) |
| $(CXX) $(CXXFLAGS) $(LDFLAGS) $(LIBLTO) -o $@ $^ |
| |
| rebase: other/rebase.o |
| $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ |
| |
| dyldinfo: other/dyldinfo.o |
| $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ |
| |
| unwinddump: other/unwinddump.o |
| $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ |
| |
| ObjectDump: other/ObjectDump.o ld/debugline.o ld/parsers/macho_relocatable_file.o $(LTO_OBJ) |
| $(CXX) $(CXXFLAGS) $(LDFLAGS) $(LIBLTO) -o $@ $^ |
| |
| machocheck: other/machochecker.o |
| $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ |
| |