Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
emulab
emulab-devel
Commits
aaeb17f3
Commit
aaeb17f3
authored
Jul 07, 2011
by
Leigh B Stoller
Browse files
Checkpoint
parent
0b48e43a
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
clientside/GNUmakefile.in
View file @
aaeb17f3
...
...
@@ -12,17 +12,21 @@ SYSTEM := $(shell uname -s)
include $(OBJDIR)/Makeconf
SUBDIRS =
ifeq ($(EMULAB
_CLIENTSIDE
),
1
)
ifeq ($(
WITH_
EMULAB),
0
)
#
# lib is a common directory, and is added to the clientside tarball.
# So not do not build it when building full emulab tree; already done.
#
SUBDIRS += lib
endif
# These must be after lib.
SUBDIRS += event tools
ifeq ($(WITH_EMULAB),1)
all: all-subdirs
else
all: client-subdirs
endif
include $(TESTBED_SRCDIR)/GNUmakerules
client: client-subdirs
...
...
clientside/Makeconf.in
View file @
aaeb17f3
...
...
@@ -36,7 +36,6 @@ INSTALL_LIBEXECDIR = @libexecdir@
INSTALL_ETCDIR = @sysconfdir@
INSTALL_INCDIR = @includedir@
INSTALL_WWWDIR = @exec_prefix@/www
INSTALL_RCDIR = @INSTALL_RCDIR@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL@ -m 755
...
...
@@ -53,5 +52,4 @@ LOG_TESTBED = @LOG_TESTBED@
EVENTSYS = @EVENTSYS@
ELVIN_COMPAT = @ELVIN_COMPAT@
EMULAB_CLIENTSIDE = @EMULAB_CLIENTSIDE@
WITH_EMULAB = @WITH_EMULAB@
clientside/autom4te.cache/output.0
deleted
100644 → 0
View file @
0b48e43a
This diff is collapsed.
Click to expand it.
clientside/autom4te.cache/requests
deleted
100644 → 0
View file @
0b48e43a
# This file was generated.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/local/share/autoconf-2.62'
],
[
'/usr/local/share/autoconf-2.62/autoconf/autoconf.m4f',
'configure.in'
],
{
'_LT_AC_TAGCONFIG' => 1,
'AM_PROG_F77_C_O' => 1,
'AC_INIT' => 1,
'm4_pattern_forbid' => 1,
'_AM_COND_IF' => 1,
'AC_CANONICAL_TARGET' => 1,
'AC_SUBST' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_FC_SRCEXT' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_PROG_LIBTOOL' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'AC_CONFIG_LINKS' => 1,
'm4_sinclude' => 1,
'LT_SUPPORTED_TAG' => 1,
'AM_MAINTAINER_MODE' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'_m4_warn' => 1,
'AM_PROG_CXX_C_O' => 1,
'_AM_COND_ENDIF' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'LT_INIT' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_LIBSOURCE' => 1,
'AM_PROG_FC_C_O' => 1,
'AC_CANONICAL_BUILD' => 1,
'AC_FC_FREEFORM' => 1,
'AH_OUTPUT' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'sinclude' => 1,
'm4_pattern_allow' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_CONDITIONAL' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'm4_include' => 1,
'_AM_COND_ELSE' => 1,
'AC_SUBST_TRACE' => 1
}
], 'Autom4te::Request' )
);
clientside/autom4te.cache/traces.0
deleted
100644 → 0
View file @
0b48e43a
This diff is collapsed.
Click to expand it.
clientside/configure
View file @
aaeb17f3
...
...
@@ -672,6 +672,14 @@ LIBS
build_alias
host_alias
target_alias
build
build_cpu
build_vendor
build_os
host
host_cpu
host_vendor
host_os
CC
CFLAGS
LDFLAGS
...
...
@@ -689,6 +697,7 @@ MKDIR_P
INSTALL_PROGRAM
INSTALL_SCRIPT
INSTALL_DATA
SUDO
AR
STRIP
RM
...
...
@@ -696,8 +705,10 @@ CP
YACC
TAR
RPM
ELVIN_CONFIG
PATH
ELVIN_COMPAT
EVENTSYS
CLIENT_ETCDIR
CLIENT_BINDIR
CLIENT_VARDIR
...
...
@@ -1339,6 +1350,10 @@ Fine tuning of the installation directories:
_ACEOF
cat
<<
\
_ACEOF
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
_ACEOF
fi
...
...
@@ -1840,6 +1855,89 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
ac_config_headers
=
"
$ac_config_headers
config.h"
# Make sure we can run config.sub.
$SHELL
"
$ac_aux_dir
/config.sub"
sun4
>
/dev/null 2>&1
||
{
{
$as_echo
"
$as_me
:
$LINENO
: error: cannot run
$SHELL
$ac_aux_dir
/config.sub"
>
&5
$as_echo
"
$as_me
: error: cannot run
$SHELL
$ac_aux_dir
/config.sub"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
{
$as_echo
"
$as_me
:
$LINENO
: checking build system type"
>
&5
$as_echo_n
"checking build system type... "
>
&6
;
}
if
test
"
${
ac_cv_build
+set
}
"
=
set
;
then
$as_echo_n
"(cached) "
>
&6
else
ac_build_alias
=
$build_alias
test
"x
$ac_build_alias
"
=
x
&&
ac_build_alias
=
`
$SHELL
"
$ac_aux_dir
/config.guess"
`
test
"x
$ac_build_alias
"
=
x
&&
{
{
$as_echo
"
$as_me
:
$LINENO
: error: cannot guess build type; you must specify one"
>
&5
$as_echo
"
$as_me
: error: cannot guess build type; you must specify one"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
ac_cv_build
=
`
$SHELL
"
$ac_aux_dir
/config.sub"
$ac_build_alias
`
||
{
{
$as_echo
"
$as_me
:
$LINENO
: error:
$SHELL
$ac_aux_dir
/config.sub
$ac_build_alias
failed"
>
&5
$as_echo
"
$as_me
: error:
$SHELL
$ac_aux_dir
/config.sub
$ac_build_alias
failed"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
fi
{
$as_echo
"
$as_me
:
$LINENO
: result:
$ac_cv_build
"
>
&5
$as_echo
"
$ac_cv_build
"
>
&6
;
}
case
$ac_cv_build
in
*
-
*
-
*
)
;;
*
)
{
{
$as_echo
"
$as_me
:
$LINENO
: error: invalid value of canonical build"
>
&5
$as_echo
"
$as_me
: error: invalid value of canonical build"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
;;
esac
build
=
$ac_cv_build
ac_save_IFS
=
$IFS
;
IFS
=
'-'
set
x
$ac_cv_build
shift
build_cpu
=
$1
build_vendor
=
$2
shift
;
shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os
=
$*
IFS
=
$ac_save_IFS
case
$build_os
in
*
\
*
)
build_os
=
`
echo
"
$build_os
"
|
sed
's/ /-/g'
`
;;
esac
{
$as_echo
"
$as_me
:
$LINENO
: checking host system type"
>
&5
$as_echo_n
"checking host system type... "
>
&6
;
}
if
test
"
${
ac_cv_host
+set
}
"
=
set
;
then
$as_echo_n
"(cached) "
>
&6
else
if
test
"x
$host_alias
"
=
x
;
then
ac_cv_host
=
$ac_cv_build
else
ac_cv_host
=
`
$SHELL
"
$ac_aux_dir
/config.sub"
$host_alias
`
||
{
{
$as_echo
"
$as_me
:
$LINENO
: error:
$SHELL
$ac_aux_dir
/config.sub
$host_alias
failed"
>
&5
$as_echo
"
$as_me
: error:
$SHELL
$ac_aux_dir
/config.sub
$host_alias
failed"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
fi
fi
{
$as_echo
"
$as_me
:
$LINENO
: result:
$ac_cv_host
"
>
&5
$as_echo
"
$ac_cv_host
"
>
&6
;
}
case
$ac_cv_host
in
*
-
*
-
*
)
;;
*
)
{
{
$as_echo
"
$as_me
:
$LINENO
: error: invalid value of canonical host"
>
&5
$as_echo
"
$as_me
: error: invalid value of canonical host"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
;;
esac
host
=
$ac_cv_host
ac_save_IFS
=
$IFS
;
IFS
=
'-'
set
x
$ac_cv_host
shift
host_cpu
=
$1
host_vendor
=
$2
shift
;
shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os
=
$*
IFS
=
$ac_save_IFS
case
$host_os
in
*
\
*
)
host_os
=
`
echo
"
$host_os
"
|
sed
's/ /-/g'
`
;;
esac
ac_ext
=
c
ac_cpp
=
'$CPP $CPPFLAGS'
...
...
@@ -3624,6 +3722,51 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
test
-z
"
$INSTALL_DATA
"
&&
INSTALL_DATA
=
'${INSTALL} -m 644'
# Extract the first word of "sudo", so it can be a program name with args.
set
dummy
sudo
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
$LINENO
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
test
"
${
ac_cv_path_SUDO
+set
}
"
=
set
;
then
$as_echo_n
"(cached) "
>
&6
else
case
$SUDO
in
[
\\
/]
*
|
?:[
\\
/]
*
)
ac_cv_path_SUDO
=
"
$SUDO
"
# Let the user override the test with a path.
;;
*
)
as_save_IFS
=
$IFS
;
IFS
=
$PATH_SEPARATOR
for
as_dir
in
$PATH
do
IFS
=
$as_save_IFS
test
-z
"
$as_dir
"
&&
as_dir
=
.
for
ac_exec_ext
in
''
$ac_executable_extensions
;
do
if
{
test
-f
"
$as_dir
/
$ac_word$ac_exec_ext
"
&&
$as_test_x
"
$as_dir
/
$ac_word$ac_exec_ext
"
;
}
;
then
ac_cv_path_SUDO
=
"
$as_dir
/
$ac_word$ac_exec_ext
"
$as_echo
"
$as_me
:
$LINENO
: found
$as_dir
/
$ac_word$ac_exec_ext
"
>
&5
break
2
fi
done
done
IFS
=
$as_save_IFS
;;
esac
fi
SUDO
=
$ac_cv_path_SUDO
if
test
-n
"
$SUDO
"
;
then
{
$as_echo
"
$as_me
:
$LINENO
: result:
$SUDO
"
>
&5
$as_echo
"
$SUDO
"
>
&6
;
}
else
{
$as_echo
"
$as_me
:
$LINENO
: result: no"
>
&5
$as_echo
"no"
>
&6
;
}
fi
if
test
-z
"
$SUDO
"
;
then
{
{
$as_echo
"
$as_me
:
$LINENO
: error: no acceptable sudo found in
\$
PATH"
>
&5
$as_echo
"
$as_me
: error: no acceptable sudo found in
\$
PATH"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
fi
# Extract the first word of "ar", so it can be a program name with args.
set
dummy ar
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
$LINENO
: checking for
$ac_word
"
>
&5
...
...
@@ -3940,16 +4083,58 @@ if test -z "$RPM" ; then
$as_echo
"
$as_me
: error: no rpm found in
\$
PATH"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
fi
# Extract the first word of "elvin-config", so it can be a program name with args.
set
dummy elvin-config
;
ac_word
=
$2
{
$as_echo
"
$as_me
:
$LINENO
: checking for
$ac_word
"
>
&5
$as_echo_n
"checking for
$ac_word
... "
>
&6
;
}
if
test
"
${
ac_cv_path_ELVIN_CONFIG
+set
}
"
=
set
;
then
$as_echo_n
"(cached) "
>
&6
else
case
$ELVIN_CONFIG
in
[
\\
/]
*
|
?:[
\\
/]
*
)
ac_cv_path_ELVIN_CONFIG
=
"
$ELVIN_CONFIG
"
# Let the user override the test with a path.
;;
*
)
as_save_IFS
=
$IFS
;
IFS
=
$PATH_SEPARATOR
for
as_dir
in
$PATH
do
IFS
=
$as_save_IFS
test
-z
"
$as_dir
"
&&
as_dir
=
.
for
ac_exec_ext
in
''
$ac_executable_extensions
;
do
if
{
test
-f
"
$as_dir
/
$ac_word$ac_exec_ext
"
&&
$as_test_x
"
$as_dir
/
$ac_word$ac_exec_ext
"
;
}
;
then
ac_cv_path_ELVIN_CONFIG
=
"
$as_dir
/
$ac_word$ac_exec_ext
"
$as_echo
"
$as_me
:
$LINENO
: found
$as_dir
/
$ac_word$ac_exec_ext
"
>
&5
break
2
fi
done
done
IFS
=
$as_save_IFS
;;
esac
fi
ELVIN_CONFIG
=
$ac_cv_path_ELVIN_CONFIG
if
test
-n
"
$ELVIN_CONFIG
"
;
then
{
$as_echo
"
$as_me
:
$LINENO
: result:
$ELVIN_CONFIG
"
>
&5
$as_echo
"
$ELVIN_CONFIG
"
>
&6
;
}
else
{
$as_echo
"
$as_me
:
$LINENO
: result: no"
>
&5
$as_echo
"no"
>
&6
;
}
fi
# Need this for Makeconf.
#
# Elvin compat option, which we still need.
# Elvin compat option, which we still need.
Always turn on event system.
#
ELVIN_COMPAT
=
0
EVENTSYS
=
1
...
...
@@ -4640,7 +4825,9 @@ done
outfiles
=
"Makeconf GNUmakefile
\
event/GNUmakefile
\
event/program-agent/GNUmakefile"
event/program-agent/GNUmakefile
\
tools/GNUmakefile
\
tools/pcapper/GNUmakefile"
#
# When building as part of a full emulab build, a few things come
...
...
clientside/configure.in
View file @
aaeb17f3
...
...
@@ -8,6 +8,7 @@ AC_PREREQ(2.62)
AC_INIT(Makeconf.in)
AC_CONFIG_AUX_DIR(${srcdir}/autoconf)
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
AC_PROG_CPP
AC_PROG_CXX
...
...
@@ -15,6 +16,10 @@ AC_PROG_LN_S
AC_PROG_RANLIB
AC_PROG_MKDIR_P
AC_PROG_INSTALL
AC_PATH_PROG(SUDO,sudo)
if test -z "$SUDO" ; then
AC_MSG_ERROR([no acceptable sudo found in \$PATH])
fi
AC_PATH_PROG(AR, ar)
if test -z "$AR" ; then
AC_MSG_ERROR([no acceptable ar found in \$PATH])
...
...
@@ -43,15 +48,18 @@ AC_PATH_PROG(RPM, rpm, rpm)
if test -z "$RPM" ; then
AC_MSG_ERROR([no rpm found in \$PATH])
fi
AC_PATH_PROG(ELVIN_CONFIG,elvin-config)
# Need this for Makeconf.
AC_SUBST(PATH)
#
# Elvin compat option, which we still need.
# Elvin compat option, which we still need.
Always turn on event system.
#
AC_SUBST(ELVIN_COMPAT)
ELVIN_COMPAT=0
AC_SUBST(EVENTSYS)
EVENTSYS=1
AC_SUBST(CLIENT_ETCDIR)
AC_SUBST(CLIENT_BINDIR)
...
...
@@ -145,7 +153,9 @@ AC_SUBST(PYTHON_INCLUDE)
outfiles="Makeconf GNUmakefile \
event/GNUmakefile \
event/program-agent/GNUmakefile"
event/program-agent/GNUmakefile \
tools/GNUmakefile \
tools/pcapper/GNUmakefile"
#
# When building as part of a full emulab build, a few things come
...
...
clientside/tools/pcapper/GNUmakefile.in
View file @
aaeb17f3
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-20
09
University of Utah and the Flux Group.
# Copyright (c) 2000-20
11
University of Utah and the Flux Group.
# All rights reserved.
#
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = ../..
SUBDIR = tools/pcapper
SRCDIR = @srcdir@
TESTBED_SRCDIR = @top_srcdir@
OBJDIR = @top_builddir@
SUBDIR = $(subst $(TESTBED_SRCDIR)/,,$(SRCDIR))
SYSTEM := $(shell uname -s)
include $(OBJDIR)/Makeconf
...
...
@@ -38,8 +37,8 @@ endif
ELVINFLAGS = -I/usr/local/include
ELVINLIBS = -L/usr/local/lib -lpubsub -lm
EVENTFLAGS = -DEVENTSYS -I$(TESTBED_SRCDIR)/event
/lib
$(ELVINFLAGS)
EVENTOBJS = $(OBJDIR)/event/
lib/
event.o $(OBJDIR)/event/
lib/
util.o
EVENTFLAGS = -DEVENTSYS -I$(TESTBED_SRCDIR)/
lib/
event $(ELVINFLAGS)
EVENTOBJS = $(OBJDIR)/
lib/
event/event.o $(OBJDIR)/
lib/
event/util.o
EVENTLIBS = $(ELVINLIBS) -lcrypto
TBCFLAGS = $(EVENTFLAGS) -I$(TESTBED_SRCDIR)/lib/libtb
...
...
@@ -48,7 +47,7 @@ TBLIBS = $(EVENTOBJS) $(OBJDIR)/lib/libtb/libtb.a $(EVENTLIBS)
PCAPLIBS=-lpcap
CFLAGS = -Wall $(PTHREADCFLAGS) \
-DEMULAB -g -DDROPROOT
-DBOSSNODE=\"@BOSSNODE@\"
\
-DEMULAB -g -DDROPROOT \
-DCLIENT_BINDIR='"$(CLIENT_BINDIR)"'
LDFLAGS = $(LDSTATIC)
...
...
configure
View file @
aaeb17f3
This diff is collapsed.
Click to expand it.
configure.in
View file @
aaeb17f3
...
...
@@ -9,6 +9,7 @@ AC_INIT(Makeconf.in)
AC_CONFIG_AUX_DIR(${srcdir}/autoconf)
AC_PREFIX_DEFAULT(/usr/testbed)
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
# We use separate source and obj trees in Emulab. Configuring in a source
# tree messes it up, so throw an error.
...
...
@@ -57,6 +58,26 @@ AC_SUBST(PATH)
CPPFLAGS="-I/usr/local/include"
# BEGIN Python detection. For the event library.
AC_PATH_PROGS(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2)
if test x"$PYTHON" = x""; then
AC_MSG_ERROR([python not detected])
fi
PYTHON_VERSION=`${PYTHON} -V 2>&1 | cut -d ' ' -f 2 | cut -d '.' -f 1,2`
PYTHON_PATH=`dirname ${PYTHON}`
if test ! -d "$PYTHON_PATH/include"; then
PYTHON_PATH=`dirname ${PYTHON_PATH}`
fi
PYTHON_INCLUDE="${PYTHON_PATH}/include/python${PYTHON_VERSION}"
CPPFLAGS="${CPPFLAGS} -I${PYTHON_INCLUDE}"
AC_CHECK_HEADERS([Python.h],
[],
[AC_MSG_WARN("Cannot find Python.h in ${PYTHON_INCLUDE}")])
AC_SUBST(PYTHON_INCLUDE)
# END Python detection.
AC_CHECK_TOOL(CC,gcc)
AC_CHECK_TOOL(CXX,g++)
AC_CHECK_TOOL(AR,ar)
...
...
@@ -995,7 +1016,7 @@ outfiles="$outfiles Makeconf GNUmakefile \
rc.d/3.elvin_gateway.sh rc.d/pelab.sh rc.d/capture.sh \
rc.d/3.mfrisbeed.sh rc.d/3.mfrisbeed-subboss.sh \
tools/GNUmakefile rc.d/1.mysql-server.sh tools/svn/GNUmakefile \
tools/pcapper/GNUmakefile
tools/teachswitch/GNUmakefile \
tools/teachswitch/GNUmakefile \
tools/webcamapplet/GNUmakefile tools/whol/GNUmakefile \
tools/selectapplet/GNUmakefile tools/rmanage/GNUmakefile \
$eventfiles \
...
...
@@ -1064,8 +1085,15 @@ outfiles="$outfiles Makeconf GNUmakefile \
node_usage/gather node_usage/mk-php-pages \
node_usage/get-start-date"
outfiles="Makeconf GNUmakefile"
#
# While it would be nice to use the configure setup in the clientside subdir,
# this turned out to be a major headache. Instead, just duplicate the file
# lists here and in clientside.
#
outfiles="$outfiles clientside/GNUmakefile \
clientside/GNUmakefile clientside/event/GNUmakefile \
clientside/event/program-agent/GNUmakefile \
clientside/tools/GNUmakefile clientside/tools/pcapper/GNUmakefile"
#
# Do this for easy distclean.
...
...
@@ -1073,13 +1101,5 @@ outfiles="Makeconf GNUmakefile"
DISTCLEAN_FILES="$outfiles"
AC_SUBST(DISTCLEAN_FILES)
#
# Invoke configure in the clientside directory.
#
DEFSFILE=`realpath $TBDEFS`
AC_CONFIG_COMMANDS([clientside/Makeconf],
[(cd clientside;
$ac_srcdir/configure --with-TBDEFS=$DEFSFILE --with-emulab=$ac_top_srcdir)],
[DEFSFILE=$DEFSFILE])
AC_OUTPUT($outfiles)
lib/libtb/GNUmakefile.in
View file @
aaeb17f3
...
...
@@ -13,7 +13,7 @@ include $(OBJDIR)/Makeconf
all: libtb.a
client: libtb-nodb.a
cmp -s libtb-nodb.a libtb.a || cp -pf libtb-nodb.a libtb.a
cmp -s libtb-nodb.a libtb.a || cp -pf libtb-nodb.a libtb.a
client-install: client
# The point of this is to make sure a nodb version of the library is
...
...
@@ -31,8 +31,8 @@ libtb.a: $(OBJS) tbdb.o
$(RANLIB) $@
libtb-nodb.a: $(OBJS)
$(AR) crv $@ $(OBJS)
$(RANLIB) $@
$(AR) crv $@ $(OBJS)
$(RANLIB) $@
log.o: log.h
tbdb.o: tbdb.h log.h tbdefs.h
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment