1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21# 22# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25# ident "%Z%%M% %I% %E% SMI" 26# 27 28# When building libperl.so, hidden command and dependency checking is OK. 29.KEEP_STATE: 30 31# Library and version. 32LIBRARY = libperl.a 33VERS = .1 34 35# Objects comprising libperl. 36OBJECTS = \ 37 av.o \ 38 deb.o \ 39 doio.o \ 40 doop.o \ 41 dump.o \ 42 globals.o \ 43 gv.o \ 44 hv.o \ 45 locale.o \ 46 mg.o \ 47 numeric.o \ 48 op.o \ 49 pad.o \ 50 perl.o \ 51 perlapi.o \ 52 perlio.o \ 53 perly.o \ 54 pp.o \ 55 pp_ctl.o \ 56 pp_hot.o \ 57 pp_pack.o \ 58 pp_sort.o \ 59 pp_sys.o \ 60 reentr.o \ 61 regcomp.o \ 62 regexec.o \ 63 run.o \ 64 scope.o \ 65 sv.o \ 66 taint.o \ 67 toke.o \ 68 universal.o \ 69 utf8.o \ 70 util.o \ 71 xsutils.o 72 73# 74# Some of the Makefile.master and Makefile.lib flags are overridden by 75# ../Makefile.perlcfg which is in turn generated from config.sh by 76# ../extract_config.sh - check there first before overriding anything in this 77# Makefile. 78# 79include ../../../../lib/Makefile.lib 80include ../Makefile.perlcfg 81 82# There should be a mapfile here 83MAPFILES = 84 85# Disable perl from directly binding to itself, but allow perl to directly bind 86# to its dependencies (ie. map -Bdirect -> -zdirect). Ensure lazy loading is 87# established (which is enabled automatically with -Bdirect). 88BDIRECT = $(ZDIRECT) 89LDFLAGS += $(ZLAZYLOAD) 90 91# Add in the perl-specific flags (including largefile flags). 92CPPFLAGS += $(PERL_COREFLAGS) $(PERL_LFFLAGS) 93 94# A static version of libperl isn't needed. 95LIBS = $(DYNLIB) 96 97# libperl.so lives under the perl install tree, not /usr/lib. 98ROOTLIBDIR = $(PERL_CORE_DIR) 99 100# Add in the libraries perl needs to be linked against. 101LDLIBS += $(PERL_LDLIBS) 102 103all: $(LIBS) $(LIBLINKS) 104 105# 106# libperl is installed by the installperl script, which is in turn called by 107# distrib/Makefile, so this target does nothing. However, installperl doesn't 108# get the links to libperl.so quite right, so this is fixed up by the 109# install_lib target, which is run by distrib/Makefile (see below). 110# 111install: all 112 113# 114# By default perl only installs libperl.so, wheras ON would install 115# libperl.so.1 and then create libperl.so as a symlink to libperl.so.1. 116# The following two rules fix up things so they follow the ON conventions. 117# 118install_lib: 119 $(RM) -f $(PERL_CORE_DIR)/$(DYNLIB) 120 $(MV) $(PERL_CORE_DIR)/$(LIBLINKS) $(PERL_CORE_DIR)/$(DYNLIB) 121 $(LN) -s ./$(DYNLIB) $(PERL_CORE_DIR)/$(LIBLINKS) 122 123$(LIBLINKS): 124 $(RM) -f $@ 125 $(LN) -s ./$(DYNLIB) $@ 126 127include ../../../../lib/Makefile.targ 128