Makefile 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # Copyright (C) 2009 Apple Inc. All rights reserved.
  2. #
  3. # Redistribution and use in source and binary forms, with or without
  4. # modification, are permitted provided that the following conditions
  5. # are met:
  6. # 1. Redistributions of source code must retain the above copyright
  7. # notice, this list of conditions and the following disclaimer.
  8. # 2. Redistributions in binary form must reproduce the above copyright
  9. # notice, this list of conditions and the following disclaimer in the
  10. # documentation and/or other materials provided with the distribution.
  11. #
  12. # THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
  13. # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  14. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  15. # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
  16. # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  17. # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  18. # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  19. # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  20. # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  21. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  22. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  23. CONFIGURATION_BUILD_DIR ?= .
  24. OUTPUT_DIR=$(CONFIGURATION_BUILD_DIR)
  25. WRAPPER_DIR=$(OUTPUT_DIR)/DerivedSources/DumpRenderTree
  26. WRAPPER=$(WRAPPER_DIR)/DumpRenderTreeSupport_wrap.c
  27. PERL_MODULE=$(OUTPUT_DIR)/DumpRenderTreeSupport.pm
  28. DYLIB=$(OUTPUT_DIR)/DumpRenderTreeSupport.dylib
  29. DUMPRENDERTREE=$(OUTPUT_DIR)/DumpRenderTree
  30. PERL=/usr/bin/perl
  31. OSX_VERSION = $(shell sw_vers -productVersion | cut -d. -f 2)
  32. ifeq "$(OSX_VERSION)" "5"
  33. GENERATE_WRAPPER = YES
  34. endif
  35. ifeq "$(OSX_VERSION)" "6"
  36. GENERATE_WRAPPER = NO
  37. endif
  38. ifeq "$(GENERATE_WRAPPER)" "YES"
  39. SWIG=/usr/bin/swig
  40. all: $(DYLIB) $(PERL_MODULE)
  41. $(WRAPPER) $(PERL_MODULE): DumpRenderTreeSupport.c $(DUMPRENDERTREE)
  42. mkdir -p $(WRAPPER_DIR)
  43. $(SWIG) -o $(WRAPPER) -outdir $(OUTPUT_DIR) -perl -module DumpRenderTreeSupport $<
  44. else
  45. all: $(DYLIB) $(PERL_MODULE)
  46. $(WRAPPER): DumpRenderTreeSupport_wrapPregenerated.c $(DUMPRENDERTREE)
  47. mkdir -p $(WRAPPER_DIR)
  48. cp DumpRenderTreeSupport_wrapPregenerated.c $(WRAPPER)
  49. $(PERL_MODULE): DumpRenderTreeSupportPregenerated.pm $(DUMPRENDERTREE)
  50. cp DumpRenderTreeSupportPregenerated.pm $(PERL_MODULE)
  51. endif
  52. $(DYLIB): DumpRenderTreeSupport.c $(WRAPPER)
  53. gcc -g -dynamiclib -o $(DYLIB) `$(PERL) -MExtUtils::Embed -eperl_inc` `$(PERL) -MExtUtils::Embed -e'my $$opts = ldopts(0); $$opts =~ s/-arch [^ ]*( |$$)//g; print $$opts, " -arch ", join(" -arch ", split(" ",$$ENV{ARCHS}))'` $^
  54. clean:
  55. rm -f $(WRAPPER) $(PERL_MODULE) $(DYLIB)
  56. installhdrs installsrc:
  57. INSTALL_LOCATION=$(DSTROOT)/$(SYSTEM_LIBRARY_DIR)/Frameworks/$(WEBKIT_FRAMEWORK_RESOURCES_PATH)
  58. install: all
  59. mkdir -p $(INSTALL_LOCATION)
  60. cp $(DYLIB) $(INSTALL_LOCATION)/DumpRenderTreeSupport.dylib
  61. cp $(PERL_MODULE) $(INSTALL_LOCATION)/DumpRenderTreeSupport.pm