[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference smurf::buildhelp

Title:USG buildhelp questions/answers
Moderator:SMURF::FILTER
Created:Mon Apr 26 1993
Last Modified:Mon Jan 20 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2763
Total number of notes:5802

469.0. "Problem with file_EXPDIR" by SMURF::FILTER (Automatic Posting Software - mail to flume::puck) Tue Dec 07 1993 12:56

Date Of Receipt: 	 7-DEC-1993 09:43:48.70
From: 	QUARRY::njo "Neil O'Brien USG/DE"
To: 	odehelp@DEC:.zko.quarry
CC: 	lesniak mchale njo
Subj: 	Problem with file_EXPDIR

Hi,

I've been trying to write a Makefile for a new library in the gold 
source pool and I am having a problem with the file_EXPDIR variable.  
Section 4.4.2 (Processing the Leaves) of the ODE Supplement for Silver 
Development states that file_EXPDIR is the "path into which the file 
should be exported.  The path will be taken relative to the rc file 
variable EXPORTBASE ... ".  When I do a "build export_foo.h" or a 
"build export_libfoo.a" the respective files get exported to the 
/sandbox/export/alpha directory rather than the directories I've 
specified in the Makefile.  Is the file_EXPDIR capability not currently
working in ODE?

Thanks.  I've included my Makefile below.

Neil




#
# @DEC_COPYRIGHT@
#
#
# HISTORY
# $Log: Makefile,v $
# Revision 1.1.1.2  1993/12/02  20:41:28  Neil_OBrien
# 	Initial revision for the real*16 project.
#
# $EndLog$
#
# @(#)$RCSfile: Makefile,v $ $Revision: 1.1.1.2 $ (DEC) $Date: 1993/12/02 20:41:28 $
#
#

VPATH                   = ${target_machine}

LIBRARIES		= libcvtas.a
libcvtas.a_EXPDIR	= /usr/ccs/lib/
OFILES			= cvtas.o

DATAFILES		= cvtas.h
INCLUDES		= ${DATAFILES}
cvtas.h_EXPDIR		= /usr/include/cmplrs/

include ${MAKEFILEPATH}/standard.mk
include ${MAKEFILEPATH}/objects.mk
include ${MAKEFILEPATH}/datafiles.mk

${OFILES}: $${@:.o=.c} ${INCLUDES}
	${_CC_} -Dconst=' ' ${_CCFLAGS_} -c $*.c

${LIBRARIES}: ${DEPEND_LIST} ${LIBRARIES}(${_OFILES_})
	${CP} -p `dirname $<`/alpha/$@ ./[email protected]
	${MV} ./[email protected] ./$@
	${CHMOD} u+w ./$@
	${_AR_} ${DEF_ARFLAGS} $@ $?
	${_RANLIB_} $@
	${RM} -f $?


T.RTitleUserPersonal
Name
DateLines
469.1Re: Problem with file_EXPDIRSMURF::FILTERAutomatic Posting Software - mail to flume::puckTue Dec 07 1993 12:5815
Date Of Receipt: 	 7-DEC-1993 10:31:09.95
From: 	QUARRY::njo "Neil O'Brien USG/DE"
To: 	[email protected]
CC: 	odehelp@DEC:.zko.quarry
Subj: 	Re:  Problem with file_EXPDIR

Nope.  My instructions were to export the indicated files and to make
sure that they are not shipped, i.e., installed.

In response to:
>Are you confusing IDIR (Installation DIRectory) for EXPDIR (EXPort DIRectory)?
>EXPDIR is used to make a file present in the exports area for use during
>the compilation of the system.  To ship the file, it must be INSTALLED
>(it need not be exported if the build doesn't depend on it).

469.2Re: Problem with file_EXPDIRSMURF::FILTERAutomatic Posting Software - mail to flume::puckTue Dec 07 1993 13:0134
Date Of Receipt: 	 7-DEC-1993 11:52:14.29
From: 	QUARRY::njo "Neil O'Brien USG/DE"
To: 	[email protected]
CC: 	njo@DEC:.zko.quarry, odehelp@DEC:.zko.quarry
Subj: 	Re:  Problem with file_EXPDIR

Jim,

Using my Makefile as an example, when I do a "build export_libcvtas.a"
the library should be placed in the directory:

/sandbox/export/alpha/usr/ccs/lib

Instead it gets placed in:

/sandbox/export/alpha

When I do a "build export_cvtas.h" the header should be placed in the
directory:

/sandbox/export/alpha/usr/include/cmplrs

Instead it gets placed in:

/sandbox/export/alpha

Neil


In response to:
>In that case, the behavior you report was the expected behavior.  What's
>the problem?


469.3Re: Problem with file_EXPDIRSMURF::FILTERAutomatic Posting Software - mail to flume::puckTue Dec 07 1993 13:0387
Date Of Receipt: 	 7-DEC-1993 12:21:46.40
From: 	FLUME::jmcg "Jim McGinness"
To: 	flume::njo
CC: 	flume::buildhelp
Subj: 	Re:  Problem with file_EXPDIR

I see what you mean, now.

That's definitely a problem.  The code in your Makefile and the code
in standard.mk appear to be correct, so I don't have an explanation
for the failure you see.  I could not find another example of a use
of the file_EXPDIR construct anywhere in /usr/lib in my quick check,
so I can't point to a place where this is already working.  Maybe
another buildhelp denizen has a better idea...?

 > Date: Tue, 7 Dec 1993 09:44:13 -0500
 > From: Neil O'Brien USG/DE <njo>
 > Message-Id: <[email protected]>
 > To: odehelp
 > Subject: Problem with file_EXPDIR
 > Cc: lesniak mchale njo
 > 
 > 
 > Hi,
 > 
 > I've been trying to write a Makefile for a new library in the gold 
 > source pool and I am having a problem with the file_EXPDIR variable.  
 > Section 4.4.2 (Processing the Leaves) of the ODE Supplement for Silver 
 > Development states that file_EXPDIR is the "path into which the file 
 > should be exported.  The path will be taken relative to the rc file 
 > variable EXPORTBASE ... ".  When I do a "build export_foo.h" or a 
 > "build export_libfoo.a" the respective files get exported to the 
 > /sandbox/export/alpha directory rather than the directories I've 
>>> rather than /sandbox/export/alpha/usr/ccs/lib/ or
>>> /sandbox/export/alpha/usr//usr/include/cmplrs/
>>> -- jmcg
 > specified in the Makefile.  Is the file_EXPDIR capability not currently
 > working in ODE?
 > 
 > Thanks.  I've included my Makefile below.
 > 
 > Neil
 > 
 > 
 > 
 > 
 > #
 > # @DEC_COPYRIGHT@
 > #
 > #
 > # HISTORY
 > # $Log: Makefile,v $
 > # Revision 1.1.1.2  1993/12/02  20:41:28  Neil_OBrien
 > # 	Initial revision for the real*16 project.
 > #
 > # $EndLog$
 > #
 > # @(#)$RCSfile: Makefile,v $ $Revision: 1.1.1.2 $ (DEC) $Date: 1993/12/02 20:41:28 $
 > #
 > #
 > 
 > VPATH                   = ${target_machine}
 > 
 > LIBRARIES		= libcvtas.a
 > libcvtas.a_EXPDIR	= /usr/ccs/lib/
 > OFILES			= cvtas.o
 > 
 > DATAFILES		= cvtas.h
 > INCLUDES		= ${DATAFILES}
 > cvtas.h_EXPDIR		= /usr/include/cmplrs/
 > 
 > include ${MAKEFILEPATH}/standard.mk
 > include ${MAKEFILEPATH}/objects.mk
 > include ${MAKEFILEPATH}/datafiles.mk
 > 
 > ${OFILES}: $${@:.o=.c} ${INCLUDES}
 > 	${_CC_} -Dconst=' ' ${_CCFLAGS_} -c $*.c
 > 
 > ${LIBRARIES}: ${DEPEND_LIST} ${LIBRARIES}(${_OFILES_})
 > 	${CP} -p `dirname $<`/alpha/$@ ./[email protected]
 > 	${MV} ./[email protected] ./$@
 > 	${CHMOD} u+w ./$@
 > 	${_AR_} ${DEF_ARFLAGS} $@ $?
 > 	${_RANLIB_} $@
 > 	${RM} -f $?
 >