blob: 1f35c8ff9f39c91f5daf5dc8f57ed8901c8380b6 [file] [log] [blame]
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.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/Snapshot.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 $@ $^