PageRenderTime 52ms CodeModel.GetById 41ms app.highlight 7ms RepoModel.GetById 2ms app.codeStats 0ms

/trunk/Lib/perl5/Makefile.in

#
Autoconf | 138 lines | 54 code | 41 blank | 43 comment | 0 complexity | 42c419bd520d01c19890baa402fa8ad7 MD5 | raw file
  1# ---------------------------------------------------------------
  2# SWIG Perl5 Makefile
  3# 
  4# This file can be used to build various Perl5 extensions with SWIG.
  5# By default this file is set up for dynamic loading, but it can
  6# be easily customized for static extensions by modifying various
  7# portions of the file.
  8#
  9#        SRCS       = C source files
 10#        CXXSRCS    = C++ source files
 11#        OBJCSRCS   = Objective-C source files
 12#        OBJS       = Additional .o files (compiled previously)
 13#        INTERFACE  = SWIG interface file
 14#        TARGET     = Name of target module or executable
 15#
 16# Many portions of this file were created by the SWIG configure
 17# script and should already reflect your machine.
 18#----------------------------------------------------------------
 19
 20SRCS          = 
 21CXXSRCS       = 
 22OBJCSRCS      = 
 23OBJS          = 
 24INTERFACE     = 
 25WRAPFILE      = $(INTERFACE:.i=_wrap.c)
 26WRAPOBJ       = $(INTERFACE:.i=_wrap.o)
 27TARGET        = module@SO@ # Use this kind of target for dynamic loading
 28#TARGET        = myperl  # Use this target for static linking
 29
 30prefix        = @prefix@
 31exec_prefix   = @exec_prefix@
 32
 33CC            = @CC@
 34CXX           = @CXX@
 35OBJC          = @CC@ -Wno-import # -Wno-import needed for gcc 
 36CFLAGS        = 
 37INCLUDES      =
 38LIBS          =
 39
 40# SWIG Options
 41#     SWIG      = location of the SWIG executable
 42#     SWIGOPT   = SWIG compiler options
 43#     SWIGCC    = Compiler used to compile the wrapper file
 44
 45SWIG          = $(exec_prefix)/bin/swig 
 46SWIGOPT       = -perl5 
 47SWIGCC        = $(CC) 
 48
 49# SWIG Library files.  Uncomment this to staticly rebuild Perl
 50#SWIGLIB       = -static -lperlmain.i
 51
 52# Rules for creating .o files from source.
 53
 54COBJS         = $(SRCS:.c=.o)
 55CXXOBJS       = $(CXXSRCS:.cxx=.o)
 56OBJCOBJS      = $(OBJCSRCS:.m=.o)
 57ALLOBJS       = $(COBJS) $(CXXOBJS) $(OBJCOBJS) $(OBJS)
 58
 59# Command that will be used to build the final extension.
 60BUILD         = $(SWIGCC)
 61
 62# Uncomment the following if you are using dynamic loading
 63CCSHARED      = @CCSHARED@
 64BUILD         = @LDSHARED@
 65
 66# Uncomment the following if you are using dynamic loading with C++ and
 67# need to provide additional link libraries (this is not always required).
 68
 69#DLL_LIBS      = -L/usr/local/lib/gcc-lib/sparc-sun-solaris2.5.1/2.7.2 \
 70             -L/usr/local/lib -lg++ -lstdc++ -lgcc
 71
 72# X11 installation (possibly needed if using Perl-Tk)
 73
 74XLIB          = @XLIBSW@
 75XINCLUDE      = @XINCLUDES@
 76
 77# Perl installation
 78
 79PERL_INCLUDE  = -I@PERL5EXT@
 80PERL_LIB      = -L@PERL5EXT@ -lperl 
 81PERL_FLAGS    = -Dbool=char -Dexplicit=
 82
 83# Tcl installation.  If using Tk you might need this
 84
 85TCL_INCLUDE   = @TCLINCLUDE@
 86TCL_LIB       = @TCLLIB@
 87
 88# Build libraries (needed for static builds)
 89
 90LIBM          = @LIBM@
 91LIBC          = @LIBC@
 92SYSLIBS       = $(LIBM) $(LIBC) @LIBS@
 93
 94# Build options (uncomment only one these)
 95
 96#TK_LIB        = $(TCL_LIB) -ltcl -ltk $(XLIB)
 97BUILD_LIBS    = $(LIBS) # Dynamic loading
 98#BUILD_LIBS    = $(PERL_LIB) $(TK_LIB) $(LIBS) $(SYSLIBS)  # Static linking
 99
100# Compilation rules for non-SWIG components
101
102.SUFFIXES: .c .cxx .m
103
104.c.o:
105	$(CC) $(CCSHARED) $(CFLAGS) $(INCLUDES) -c $<
106
107.cxx.o:
108	$(CXX) $(CCSHARED) $(CXXFLAGS) $(INCLUDES) -c $<
109
110.m.o:
111	$(OBJC) $(CCSHARED) $(CFLAGS) $(INCLUDES) -c $<
112
113
114# ----------------------------------------------------------------------
115# Rules for building the extension
116# ----------------------------------------------------------------------
117
118all: $(TARGET)
119
120# Convert the wrapper file into an object file
121
122$(WRAPOBJ) : $(WRAPFILE)
123	$(SWIGCC) -c $(CCSHARED) $(CFLAGS) $(INCLUDES) $(PERL_INCLUDE) $(PERL_FLAGS) $(WRAPFILE)
124
125$(WRAPFILE) : $(INTERFACE)
126	$(SWIG) $(SWIGOPT) -o $(WRAPFILE) $(SWIGLIB) $(INTERFACE)
127
128$(TARGET): $(WRAPOBJ) $(ALLOBJS)
129	$(BUILD) $(WRAPOBJ) $(ALLOBJS) $(BUILD_LIBS) -o $(TARGET)
130
131clean:
132	rm -f $(COBJS) $(CXXOBJS) $(OBJCOBJS) $(WRAPOBJ) $(WRAPFILE) $(TARGET)
133
134
135
136
137
138