Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
base
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
FSL
base
Commits
271f11ce
Commit
271f11ce
authored
4 years ago
by
Paul McCarthy
Browse files
Options
Downloads
Patches
Plain Diff
MNT: Use a generic install routine for exeinstall, hdrinstall, libinstall,
tclinstall, etc etc. Clean up rules.mk
parent
6cab1637
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
config/common/rules.mk
+63
-123
63 additions, 123 deletions
config/common/rules.mk
config/common/vars.mk
+1
-0
1 addition, 0 deletions
config/common/vars.mk
with
64 additions
and
123 deletions
config/common/rules.mk
+
63
−
123
View file @
271f11ce
...
@@ -42,150 +42,90 @@ master-install-script:
...
@@ -42,150 +42,90 @@ master-install-script:
exit
4
;
\
exit
4
;
\
fi
;
fi
;
@${
MAKE
}
all
@${
MAKE
}
all
@${
MAKE
}
install-non-src-files
install-non-src-files
:
@${
MAKE
}
exeinstall
@${
MAKE
}
exeinstall
@${
MAKE
}
install-non-src-exe-files
install-non-src-exe-files
:
@${
MAKE
}
hdrinstall
@${
MAKE
}
hdrinstall
@${
MAKE
}
libinstall
@${
MAKE
}
libinstall
@${
MAKE
}
tclinstall
@${
MAKE
}
tclinstall
@${
MAKE
}
pyinstall
@${
MAKE
}
pyinstall
@${
MAKE
}
datainstall
@${
MAKE
}
datainstall
tclinstall
:
# Generic routine used to install
@
echo
" "
# XFILES, PYFILES, SCRIPTS, etc etc
@
echo
"Installing tcl scripts"
# Expects four arguments:
@
if
[
!
-d
${
dest_TCLDIR
}
]
;
then
\
# - $1: Label, just used to print a descriptive message
${
MKDIR
}
-p
${
dest_TCLDIR
}
;
\
# - $2: Destination directory for installation
${
CHMOD
}
g+w
${
dest_TCLDIR
}
;
\
# - $3: Permission mask to apply to all installed files (e.g. 0755)
fi
# - $4: Space-separated list of target files/directories to install
@
install_yn
=
no
;
\
define
_x_install =
for
tclfile
in
${
TCLFILES
}
verylongdummyname
;
do
\
echo
Installing
$(1)
if
[
-f
$$
tclfile
]
;
then
\
if
[
!
-d
$(2)
]
;
then
\
install_yn
=
yes
;
\
${MKDIR}
-p
$(2)
;
\
echo
${
INSTALL
}
-m
0775
$$
tclfile
${
dest_TCLDIR
}
/
;
\
${CHMOD}
g+w
$(2)
;
\
${
INSTALL
}
-m
0775
$$
tclfile
${
dest_TCLDIR
}
/
;
\
elif
[
-d
$$
tclfile
]
;
then
\
echo
${
CP
}
-r
$$
tclfile
${
dest_TCLDIR
}
/
;
\
${
CP
}
-r
$$
tclfile
${
dest_TCLDIR
}
/
;
\
fi
;
\
done
;
\
if
[
$$
install_yn
=
"yes"
]
;
then
\
(
cd
${
dest_TCLDIR
}
;
echo
'auto_mkindex . *.tcl'
|
${
TCLSH
}
)
\
fi
fi
for
target
in
$(4)
verylongdummyname
;
do
\
if
[
-f
$$target
]
;
then
\
echo
${INSTALL}
-m
$(3)
$$target
$(2)/
;
\
${INSTALL}
-m
$(3)
$$target
$(2)/
;
\
elif
[
-d
$$target
];
then
\
echo
${CP}
-r
$$target
$(2)/
;
\
${CP}
-r
$$target
$(2)/
;
\
find
$(2)/$$target
-type
d
-exec
chmod
$(3)
{}
\;
;
\
find
$(2)/$$target
-type
f
-exec
chmod
$(3)
{}
\;
;
\
fi;
\
done;
endef
# Installs PYFILES into $FSLDIR/etc/fsl/python/$PROJNAME/
pyinstall
:
pyinstall
:
@
echo
" "
@$(
call _x_install,
"python scripts"
,
${
dest_PYDIR
}
/
${
PROJNAME
}
/,0644,
${
PYFILES
})
@
echo
"Installing python scripts"
@
if
[
!
-d
${
dest_PYDIR
}
/
${
PROJNAME
}
]
;
then
\
${
MKDIR
}
-p
${
dest_PYDIR
}
/
${
PROJNAME
}
;
\
${
CHMOD
}
g+w
${
dest_PYDIR
}
/
${
PROJNAME
}
;
\
fi
@
install_yn
=
no
;
\
for
pyfile
in
${
PYFILES
}
verylongdummyname
;
do
\
if
[
-f
$$
pyfile
]
;
then
\
install_yn
=
yes
;
\
${
INSTALL
}
-m
0775
$$
pyfile
${
dest_PYDIR
}
/
${
PROJNAME
}
/
;
\
echo
${
INSTALL
}
-m
0775
$$
pyfile
${
dest_PYDIR
}
/
${
PROJNAME
}
/
;
\
fi
\
done
;
# Installs AFILES and SOFILES into $FSLDIR/lib/
libinstall
:
@$(
call _x_install,
"library files"
,
${
dest_LIBDIR
}
,0644,
${
AFILES
}
${
SOFILES
})
# Installs HFILES into $FSLDIR/include/$PROJNAME/
hdrinstall
:
@$(
call _x_install,
"header files"
,
${
dest_INCDIR
}
/
${
PROJNAME
}
/,0644,
${
HFILES
})
# Installs DATAFILES into $FSLDIR/data/$PROJNAME/
datainstall
:
@$(
call _x_install,
"data files"
,
${
dest_DATAIR
}
/
${
PROJNAME
}
/,0644,
${
DATAFILES
})
# Installs:
# - XFILES into $FSLDIR/bin/
# - SCRIPTS into $FSLDIR/bin/
exeinstall
:
exeinstall
:
@
echo
" "
@
$(
call _x_install,
"binaries"
,
${
dest_BINDIR
}
/,0755,
${
XFILES
})
@
echo
"Installing stable binaries"
@
$(
call _x_install,
"scripts"
,
${
dest_BINDIR
}
/,0755,
${
SCRIPTS
})
@
if
[
!
-d
${
dest_BINDIR
}
]
;
then
\
${
MKDIR
}
-p
${
dest_BINDIR
}
;
\
${
CHMOD
}
g+w
${
dest_BINDIR
}
;
\
# Installs:
fi
# - TCLFILES into $FSLDIR/tcl/
@
for
exefile
in
${
XFILES
}
${
SCRIPTS
}
verylongdummyname
;
do
\
# - RUNTCLS into $FSLDIR/bin/
if
[
-f
$$
exefile
]
;
then
\
tclinstall
:
${
INSTALL
}
-m
0775
$$
exefile
${
dest_
BIN
DIR
}
/
;
\
@$(
call _x_install,
"tcl scripts"
,
${
dest_
TCL
DIR
}
/
,0755,
${
TCLFILES
})
echo
${
INSTALL
}
-m
0775
$$
exefile
${
dest_BINDIR
}
/
;
\
@
# make sure that $FSLDIR/bin/ exists
fi
\
@$(
call _x_install,
"tcl scripts"
,
${
dest_BINDIR
}
/,0755,
)
done
@
# create RUNTCLS links
@
for
lntarget
in
${
RUNTCLS
}
verylongdummyname
;
do
\
@
for
lntarget
in
${
RUNTCLS
}
verylongdummyname
;
do
\
if
[
$$
lntarget
!=
verylongdummyname
]
;
then
\
if
[
$$
lntarget
!=
verylongdummyname
]
;
then
\
if
[
`
uname
`
=
Darwin
-o
X
`
uname
|
grep
CYGWIN
`
X
!=
XX
]
;
then
\
if
[
`
uname
`
=
Darwin
-o
X
`
uname
|
grep
CYGWIN
`
X
!=
XX
]
;
then
\
lntarget
=
$${
lntarget
}
_gui
;
\
lntarget
=
$${
lntarget
}
_gui
;
\
fi
;
\
fi
;
\
cd
${
dest_BINDIR
}
;
${
RM
}
-f
/tmp/fslgrot
$$
lntarget
;
\
cd
${
dest_BINDIR
}
;
${
RM
}
-f
$$
lntarget
;
\
ln
-s
Runtcl
$$
lntarget
;
\
ln
-s
Runtcl
$$
lntarget
;
\
echo ln
-s
Runtcl
$$
lntarget
;
\
echo ln
-s
Runtcl
$$
lntarget
;
\
fi
\
fi
\
done
done
@
for
lntarget
in
${
RUNAVWS
}
verylongdummyname
;
do
\
@
# index installed TCL files
if
[
$$
lntarget
!=
verylongdummyname
]
;
then
\
@
install_yn
=
no
;
cd
${
dest_BINDIR
}
;
${
RM
}
-f
/tmp/fslgrot
$$
lntarget
;
\
@
for
tclfile
in
${
TCLFILES
}
verylongdummyname
;
do
\
ln
-s
runavw
$$
lntarget
;
\
if
[
-e
$$
tclfile
]
;
then
\
echo ln
-s
runavw
$$
lntarget
;
\
install_yn
=
yes
;
\
fi
\
done
libinstall
:
@
echo
" "
@
echo
"Installing stable library archives"
@
if
[
!
-d
${
dest_LIBDIR
}
]
;
then
\
${
MKDIR
}
-p
${
dest_LIBDIR
}
;
\
${
CHMOD
}
g+w
${
dest_LIBDIR
}
;
\
fi
@
for
libfile
in
${
AFILES
}
${
SOFILES
}
verylongdummyname
;
do
\
if
[
-f
$$
libfile
]
;
then
\
${
INSTALL
}
-m
0664
$$
libfile
${
dest_LIBDIR
}
;
\
echo
${
INSTALL
}
-m
0664
$$
libfile
${
dest_LIBDIR
}
;
\
if
[
`
uname
`
=
Darwin
-o
X
`
uname
|
grep
CYGWIN
`
X
!=
XX
]
;
then
\
${
RANLIB
}
${
dest_LIBDIR
}
/
$$
libfile
;
\
fi
;
\
fi
\
done
hdrinstall
:
@
echo
" "
@
echo
"Installing stable header files"
@
if
[
!
-d
${
dest_INCDIR
}
]
;
then
\
${
MKDIR
}
-p
${
dest_INCDIR
}
;
\
${
CHMOD
}
g+w
${
dest_INCDIR
}
;
\
fi
@
if
[
!
-d
${
dest_INCDIR
}
/
${
PROJNAME
}
]
;
then
\
${
MKDIR
}
-p
${
dest_INCDIR
}
/
${
PROJNAME
}
;
\
${
CHMOD
}
g+w
${
dest_INCDIR
}
/
${
PROJNAME
}
;
\
fi
@
for
hdrfile
in
${
HFILES
}
verylongdummyname
;
do
\
if
[
-f
$$
hdrfile
]
;
then
\
echo
${
INSTALL
}
-m
0664
$$
hdrfile
${
dest_INCDIR
}
/
${
PROJNAME
}
/
;
\
${
INSTALL
}
-m
0664
$$
hdrfile
${
dest_INCDIR
}
/
${
PROJNAME
}
/
;
\
elif
[
-d
$$
hdrfile
]
;
then
\
echo
${
CP
}
-r
$$
hdrfile
${
dest_INCDIR
}
/
${
PROJNAME
}
/
;
\
${
CP
}
-r
$$
hdrfile
${
dest_INCDIR
}
/
${
PROJNAME
}
/
;
\
find
${
dest_INCDIR
}
/
${
PROJNAME
}
/
-type
d
-exec
chmod
0755
{}
\;
;
\
find
${
dest_INCDIR
}
/
${
PROJNAME
}
/
-type
f
-exec
chmod
0644
{}
\;
;
\
fi
;
\
done
datainstall
:
@
echo
" "
@
echo
"Installing data files"
@
if
[
!
-d
${
dest_DATADIR
}
]
;
then
\
${
MKDIR
}
-p
${
dest_DATADIR
}
;
\
${
CHMOD
}
g+w
${
dest_DATADIR
}
;
\
fi
@
if
[
!
-d
${
dest_DATADIR
}
/
${
PROJNAME
}
]
;
then
\
${
MKDIR
}
-p
${
dest_DATADIR
}
/
${
PROJNAME
}
;
\
${
CHMOD
}
g+w
${
dest_DATADIR
}
/
${
PROJNAME
}
;
\
fi
@
for
datafile
in
${
DATAFILES
}
verylongdummyname
;
do
\
if
[
-f
$$
datafile
]
;
then
\
echo
${
INSTALL
}
-m
0664
$$
datafile
${
dest_DATADIR
}
/
${
PROJNAME
}
/
;
\
${
INSTALL
}
-m
0664
$$
datafile
${
dest_DATADIR
}
/
${
PROJNAME
}
/
;
\
elif
[
-d
$$
datafile
]
;
then
\
echo
${
CP
}
-r
$$
datafile
${
dest_DATADIR
}
/
${
PROJNAME
}
/
;
\
${
CP
}
-r
$$
datafile
${
dest_DATADIR
}
/
${
PROJNAME
}
/
;
\
find
${
dest_DATADIR
}
/
${
PROJNAME
}
/
-type
d
-exec
chmod
0755
{}
\;
;
\
find
${
dest_DATADIR
}
/
${
PROJNAME
}
/
-type
f
-exec
chmod
0644
{}
\;
;
\
fi
;
\
fi
;
\
done
done
;
@
if
[
$$
install_yn
=
"yes"
]
;
then
\
(
cd
${
dest_TCLDIR
}
;
echo
'auto_mkindex . *.tcl'
|
${
TCLSH
}
)
\
fi
include
depend.mk
include
depend.mk
This diff is collapsed.
Click to expand it.
config/common/vars.mk
+
1
−
0
View file @
271f11ce
...
@@ -30,6 +30,7 @@ HFILES = *.h # installed into $FSLDIR/include/$PROJNAME/
...
@@ -30,6 +30,7 @@ HFILES = *.h # installed into $FSLDIR/include/$PROJNAME/
AFILES
=
*
.a
# installed into $FSLDIR/lib/
AFILES
=
*
.a
# installed into $FSLDIR/lib/
SOFILES
=
*
.so
# installed into $FSLDIR/lib/
SOFILES
=
*
.so
# installed into $FSLDIR/lib/
XFILES
=
# installed into $FSLDIR/bin/
XFILES
=
# installed into $FSLDIR/bin/
FXFILES
=
# installed into $FSLDIR/bin/, only for internal builds
SCRIPTS
=
# installed into $FSLDIR/bin/
SCRIPTS
=
# installed into $FSLDIR/bin/
RUNTCLS
=
# link to Runtcl created in $FSLDIR/bin/ which assumes
RUNTCLS
=
# link to Runtcl created in $FSLDIR/bin/ which assumes
# that <file>.tcl has been installed into
# that <file>.tcl has been installed into
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment