Home | History | Annotate | Download | only in PerlSupport
      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 
     24 CONFIGURATION_BUILD_DIR ?= .
     25 OUTPUT_DIR=$(CONFIGURATION_BUILD_DIR)
     26 
     27 WRAPPER_DIR=$(OUTPUT_DIR)/DerivedSources/DumpRenderTree
     28 WRAPPER=$(WRAPPER_DIR)/DumpRenderTreeSupport_wrap.c
     29 PERL_MODULE=$(OUTPUT_DIR)/DumpRenderTreeSupport.pm
     30 DYLIB=$(OUTPUT_DIR)/DumpRenderTreeSupport.dylib
     31 DUMPRENDERTREE=$(OUTPUT_DIR)/DumpRenderTree
     32 PERL=/usr/bin/perl
     33 
     34 OSX_VERSION = $(shell sw_vers -productVersion | cut -d. -f 2)
     35 ifeq "$(OSX_VERSION)" "4"
     36 GENERATE_WRAPPER = NO
     37 endif
     38 ifeq "$(OSX_VERSION)" "7"
     39 GENERATE_WRAPPER = NO
     40 endif
     41 
     42 ifneq "$(GENERATE_WRAPPER)" "NO"
     43 
     44 SWIG=/usr/bin/swig
     45 
     46 all: $(DYLIB) $(PERL_MODULE)
     47 
     48 $(WRAPPER) $(PERL_MODULE): DumpRenderTreeSupport.c $(DUMPRENDERTREE)
     49 	mkdir -p $(WRAPPER_DIR)
     50 	$(SWIG) -o $(WRAPPER) -outdir $(OUTPUT_DIR) -perl -module DumpRenderTreeSupport $<
     51 
     52 
     53 else
     54 
     55 
     56 all: $(DYLIB) $(PERL_MODULE)
     57 
     58 $(WRAPPER): DumpRenderTreeSupport_wrapPregenerated.c $(DUMPRENDERTREE)
     59 	mkdir -p $(WRAPPER_DIR)
     60 	cp DumpRenderTreeSupport_wrapPregenerated.c $(WRAPPER)
     61 
     62 $(PERL_MODULE): DumpRenderTreeSupportPregenerated.pm $(DUMPRENDERTREE)
     63 	cp DumpRenderTreeSupportPregenerated.pm $(PERL_MODULE)
     64 
     65 
     66 endif
     67 
     68 $(DYLIB): DumpRenderTreeSupport.c $(WRAPPER)
     69 	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}))'` $^
     70 
     71 clean:
     72 	rm -f $(WRAPPER) $(PERL_MODULE) $(DYLIB)
     73 
     74 installhdrs installsrc install:
     75