opensolaris 200805下编译安装proftpd-1.3.3d出现的错误,请教高人,万分感谢
bash-3.2# ../proftpd-1.3.3d/configure -prefix=/opt/proftp
checking build system type... i386-pc-solaris2.11
checking host system type... i386-pc-solaris2.11
checking target system type... i386-pc-solaris2.11
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/ggrep
checking for egrep... /usr/bin/ggrep -E
checking for fgrep... /usr/bin/ggrep -F
checking for ld used by gcc... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -p
checking the name lister (/usr/bin/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -p output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... solaris2.11 ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking whether the C compiler accepts -Wall... yes
checking for getopt... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking for getopt_long... yes
checking which extension is used for runtime loadable modules... .so
checking which variable specifies run-time module search path... LD_LIBRARY_PATH
checking for the default library search path... /lib /usr/lib
checking for library containing dlopen... none required
checking for dlerror... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dld_link in -ldld... no
checking for _ prefix in compiled symbols... no
checking whether deplibs are loaded by dlopen... yes
checking for argz.h... no
checking for error_t... no
checking for argz_add... no
checking for argz_append... no
checking for argz_count... no
checking for argz_create_sep... no
checking for argz_insert... no
checking for argz_next... no
checking for argz_stringify... no
checking whether libtool supports -dlopen/-dlpreopen... yes
checking for standalone crypt... yes
checking for standalone gethostbyname... no
checking for gethostbyname in -lresolv... no
checking for inet_aton in -lresolv... yes
checking for standalone inet_aton... yes
checking for standalone nsl functions... no
checking for gethostent in -lnsl... yes
checking for standalone socket functions... no
checking for bind in -lsocket... yes
checking for _pw_stayopen variable... no
checking krb.h usability... no
checking krb.h presence... no
checking for krb.h... no
checking login.h usability... no
checking login.h presence... no
checking for login.h... no
checking prot.h usability... no
checking prot.h presence... no
checking for prot.h... no
checking usersec.h usability... no
checking usersec.h presence... no
checking for usersec.h... no
checking hpsecurity.h usability... no
checking hpsecurity.h presence... no
checking for hpsecurity.h... no
checking for hpsecurity.h workaround... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking junistd.h usability... no
checking junistd.h presence... no
checking for junistd.h... no
checking for memory.h... (cached) yes
checking shadow.h usability... yes
checking shadow.h presence... yes
checking for shadow.h... yes
checking for struct spwd.sp_warn... yes
checking for struct spwd.sp_inact... yes
checking for struct spwd.sp_expire... yes
checking for security/pam_appl.h... yes
checking for security/pam_modules.h... yes
checking for pam/pam_appl.h... no
checking for pam_start in -lpam... yes
checking whether to enable mod_cap... no
checking bstring.h usability... no
checking bstring.h presence... no
checking for bstring.h... no
checking crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for inttypes.h... (cached) yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking stropts.h usability... yes
checking stropts.h presence... yes
checking for stropts.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for sys/types.h... (cached) yes
checking sys/ucred.h usability... no
checking sys/ucred.h presence... no
checking for sys/ucred.h... no
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking for sys/param.h... yes
checking for sys/mount.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking whether netdb.h requires _USE_IRS... no
checking for netinet/in_systm.h... yes
checking for netinet/ip.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for sys/stat.h... (cached) yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/termios.h usability... yes
checking sys/termios.h presence... yes
checking for sys/termios.h... yes
checking sys/termio.h usability... yes
checking sys/termio.h presence... yes
checking for sys/termio.h... yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/un.h usability... yes
checking sys/un.h presence... yes
checking for sys/un.h... yes
checking sys/vfs.h usability... yes
checking sys/vfs.h presence... yes
checking for sys/vfs.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking ndir.h usability... no
checking ndir.h presence... no
checking for ndir.h... no
checking sys/ndir.h usability... no
checking sys/ndir.h presence... no
checking for sys/ndir.h... no
checking sys/dir.h usability... no
checking sys/dir.h presence... no
checking for sys/dir.h... no
checking vmsdir.h usability... no
checking vmsdir.h presence... no
checking for vmsdir.h... no
checking ucred.h usability... yes
checking ucred.h presence... yes
checking for ucred.h... yes
checking ucontext.h usability... yes
checking ucontext.h presence... yes
checking for ucontext.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking utmpx.h usability... yes
checking utmpx.h presence... yes
checking for utmpx.h... yes
checking regex.h usability... yes
checking regex.h presence... yes
checking for regex.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking curses.h usability... yes
checking curses.h presence... yes
checking for curses.h... yes
checking ncurses.h usability... no
checking ncurses.h presence... no
checking for ncurses.h... no
checking for tzname global variable... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for uid_t in sys/types.h... yes
checking for pid_t... yes
checking for size_t... yes
checking for mode_t... yes
checking for off_t... yes
checking type of array argument to getgroups... gid_t
checking for timer_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for short... yes
checking size of short... 2
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for long long... yes
checking size of long long... 8
checking for off_t... (cached) yes
checking size of off_t... 8
checking for size_t... (cached) yes
checking size of size_t... 4
checking for time_t... yes
checking size of time_t... 4
checking for mode_t... (cached) yes
checking for ino_t... yes
checking for intptr_t... yes
checking for socklen_t... yes
checking utmp.h usability... yes
checking utmp.h presence... yes
checking for utmp.h... yes
checking whether struct utmp has ut_user... yes
checking whether struct utmp has ut_host... no
checking whether struct utmp has ut_exit... yes
checking whether syslog.h defines LOG_CRON... yes
checking whether syslog.h defines LOG_FTP... no
checking for d_fd in DIR structure... no
checking for dd_fd in DIR structure... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for alloca in -lucb... no
checking whether gcc needs -traditional... no
checking whether setpgrp takes no argument... yes
checking return type of signal handlers... void
checking for vprintf... yes
checking for _doprnt... yes
checking for bcopy... yes
checking for crypt... yes
checking for fdatasync... yes
checking for fgetgrent... yes
checking for fgetpwent... yes
checking for fgetspent... yes
checking for flock... no
checking for fpathconf... yes
checking for freeaddrinfo... yes
checking for futimes... no
checking for getpgid... yes
checking for getpgrp... yes
checking for nl_langinfo... yes
checking for gai_strerror... yes
checking for iconv... yes
checking for dirfd... yes
checking for getaddrinfo... yes
checking for getcwd... yes
checking for getenv... yes
checking for getgrouplist... no
checking for getgrset... no
checking for gethostbyname2... no
checking for gethostname... yes
checking for getnameinfo... yes
checking for gettimeofday... yes
checking for hstrerror... yes
checking for inet_aton... yes
checking for inet_ntop... yes
checking for inet_pton... yes
checking for loginrestrictions... no
checking for memcpy... yes
checking for mempcpy... no
checking for mkdir... yes
checking for mkstemp... yes
checking for mlock... yes
checking for mlockall... yes
checking for munlock... yes
checking for munlockall... yes
checking for pathconf... yes
checking for putenv... yes
checking for regcomp... yes
checking for rmdir... yes
checking for select... yes
checking for setgroups... yes
checking for socket... yes
checking for statfs... yes
checking for strchr... yes
checking for strcoll... yes
checking for strerror... yes
checking for strsep... no
checking for strtol... yes
checking for strtoull... yes
checking for setprotoent... yes
checking for setspent... yes
checking for endprotoent... yes
checking for vsnprintf... yes
checking for snprintf... yes
checking for setsid... yes
checking for setgroupent... no
checking for seteuid... yes
checking for setegid... yes
checking for setenv... yes
checking for setpgid... yes
checking for siginterrupt... yes
checking for tzset... yes
checking for uname... yes
checking for unsetenv... yes
checking for setpassent... no
checking for struct cmsgcred.cmcred_uid... no
checking for struct sockcred.sc_uid... no
checking for struct sockaddr_in.sin_len... no
checking whether struct addrinfo is defined... yes
checking whether struct sockaddr_storage is defined... yes
checking whether ss_family is defined... yes
checking whether ss_len is defined... no
checking whether __ss_len is defined... no
checking sys/acl.h usability... yes
checking sys/acl.h presence... yes
checking for sys/acl.h... yes
checking acl/libacl.h usability... no
checking acl/libacl.h presence... no
checking for acl/libacl.h... no
checking which POSIX ACL implementation to use... Solaris
checking which sendfile() implementation to use... Solaris
checking sys/sendfile.h usability... yes
checking sys/sendfile.h presence... yes
checking for sys/sendfile.h... yes
checking whether setgrent returns void... yes
checking for initscr in -lcurses... yes
checking for setproctitle... no
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking for setproctitle in -lutil... no
checking sys/pstat.h usability... no
checking sys/pstat.h presence... no
checking for sys/pstat.h... no
checking whether __progname and __progname_full are available... no
checking which argv replacement method to use... writeable
checking whether printf supports %llu format... yes
checking for duplicate module build requests... no
configure: creating ./config.status
config.status: creating include/Makefile
config.status: creating lib/Makefile
config.status: creating locale/Makefile
config.status: creating modules/Makefile
config.status: creating src/Makefile
config.status: creating src/prxs
config.status: creating src/ftpdctl.8
config.status: creating src/proftpd.8
config.status: creating src/xferlog.5
config.status: creating tests/Makefile
config.status: creating utils/Makefile
config.status: creating utils/ftpcount.1
config.status: creating utils/ftpscrub.8
config.status: creating utils/ftpshut.8
config.status: creating utils/ftptop.1
config.status: creating utils/ftpwho.1
config.status: creating Makefile
config.status: creating Make.rules
config.status: creating config.h
config.status: executing libtool commands
config.status: executing default commands
bash-3.2# make
cd lib/ && make lib
gcc -DHAVE_CONFIG_H -DSOLARIS2_11 -DSOLARIS2 -I.. -I../../proftpd-1.3.3d/include -O2 -Wall -c ../../proftpd-1.3.3d/lib/pr_fnmatch.c
In file included from ../../proftpd-1.3.3d/include/conf.h:38,
from ../../proftpd-1.3.3d/lib/pr_fnmatch.c:38:
../../proftpd-1.3.3d/include/version.h:1:24: buildstamp.h: No such file or directory
*** Error code 1
make: Fatal error: Command failed for target `pr_fnmatch.o'
Current working directory /usr/proftpd-build/lib
*** Error code 1
make: Fatal error: Command failed for target `lib'
=============================================================================
以上是在opensolaris 200805下编译安装proftpd-1.3.3d出现的错误,请教高人,是怎么回事,怎样解决,万分感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
libtool: link: gcc -o proftpd src/main.o -L/usr/proftpd-1.3.3d/lib -lsupp -lsocket -lnsl -lresolv -lsendfile -lpam
连接库文件libsupp.a,libsocket.a,libresolv.a吗,查找路径是-L/usr/proftpd-1.3.3d/lib 吗?
????????????????
没在solaris下面编译过东西,看起来很是复杂啊
你怎么会遇到这么多问题,我在sol10下编译的挺好呀,不过我用的sun cc
libtool: link: gcc -o proftpd src/main.o src/timers.o src/sets.o src/pool.o src/privs.o src/str.o src/table.o src/regexp.o src/dirtree.o src/expr.o src/support.o src/netaddr.o src/inet.o src/child.o src/parser.o src/log.o src/lastlog.o src/xferlog.o src/bindings.o src/netacl.o src/class.o src/scoreboard.o src/help.o src/feat.o src/netio.o src/cmd.o src/response.o src/data.o src/modules.o src/display.o src/auth.o src/fsio.o src/mkhome.o src/ctrls.o src/event.o src/var.o src/throttle.o src/session.o src/trace.o src/encode.o src/proctitle.o src/filter.o src/pidfile.o src/env.o src/version.o src/wtmp.o modules/mod_core.o modules/mod_xfer.o modules/mod_auth_unix.o modules/mod_auth_file.o modules/mod_auth.o modules/mod_ls.o modules/mod_log.o modules/mod_site.o modules/mod_delay.o modules/mod_facts.o modules/mod_ident.o modules/mod_auth_pam.o modules/module_glue.o -L/usr/proftpd-1.3.3d/lib -lsupp -lsocket -lnsl -lresolv -lsendfile -lpam
================
这个句子啥意思呀????????
test -z """" || (cd locale/ && make locale)
/bin/sh ./libtool --mode=link --tag=CC gcc -L../proftpd-1.3.3d/lib -o proftpd src/main.o src/timers.o src/sets.o src/pool.o src/privs.o src/str.o src/table.o src/regexp.o src/dirtree.o src/expr.o src/support.o src/netaddr.o src/inet.o src/child.o src/parser.o src/log.o src/lastlog.o src/xferlog.o src/bindings.o src/netacl.o src/class.o src/scoreboard.o src/help.o src/feat.o src/netio.o src/cmd.o src/response.o src/data.o src/modules.o src/display.o src/auth.o src/fsio.o src/mkhome.o src/ctrls.o src/event.o src/var.o src/throttle.o src/session.o src/trace.o src/encode.o src/proctitle.o src/filter.o src/pidfile.o src/env.o src/version.o src/wtmp.o modules/mod_core.o modules/mod_xfer.o modules/mod_auth_unix.o modules/mod_auth_file.o modules/mod_auth.o modules/mod_ls.o modules/mod_log.o modules/mod_site.o modules/mod_delay.o modules/mod_facts.o modules/mod_ident.o modules/mod_auth_pam.o modules/module_glue.o -lsupp -lsocket -lnsl -lresolv -lsendfile -lpam
libtool: link: gcc -o proftpd src/main.o src/timers.o src/sets.o src/pool.o src/privs.o src/str.o src/table.o src/regexp.o src/dirtree.o src/expr.o src/support.o src/netaddr.o src/inet.o src/child.o src/parser.o src/log.o src/lastlog.o src/xferlog.o src/bindings.o src/netacl.o src/class.o src/scoreboard.o src/help.o src/feat.o src/netio.o src/cmd.o src/response.o src/data.o src/modules.o src/display.o src/auth.o src/fsio.o src/mkhome.o src/ctrls.o src/event.o src/var.o src/throttle.o src/session.o src/trace.o src/encode.o src/proctitle.o src/filter.o src/pidfile.o src/env.o src/version.o src/wtmp.o modules/mod_core.o modules/mod_xfer.o modules/mod_auth_unix.o modules/mod_auth_file.o modules/mod_auth.o modules/mod_ls.o modules/mod_log.o modules/mod_site.o modules/mod_delay.o modules/mod_facts.o modules/mod_ident.o modules/mod_auth_pam.o modules/module_glue.o -L/usr/proftpd-1.3.3d/lib -lsupp -lsocket -lnsl -lresolv -lsendfile -lpam
ld: fatal: library -lsupp: not found
ld: fatal: File processing errors. No output written to proftpd
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `proftpd'
真是这样的,修改include/buildstamp.h:
echo #define BUILD_STAMP "`date +"%a %b %e %Y %H:%M:%S %Z"`" > ../proftpd-1.3.3d/include/buildstamp.h
就没有这个错误了
include/buildstamp.h:
echo #define BUILD_STAMP "`date +"%a %b %e %Y %H:%M:%S %Z"`" > include/buildstamp.h
make的时候现生成的include/buildstamp.h,并且生成到当前目录(proftpd-build)下了,
后面make lib的时候跑到VPATH(../proftpd-1.3.3d)中去找这个
include/buildstamp.h文件,所以找不到?????????
all: $(BUILD_BIN)
include/buildstamp.h:
echo #define BUILD_STAMP "`date +"%a %b %e %Y %H:%M:%S %Z"`" > include/buildstamp.h
dummy:
lib: include/buildstamp.h dummy
cd lib/ && $(MAKE) lib
======================================
bash-3.2# make
cd lib/ && make lib
======================================
make的时候直接就到lib:了,
前面的
all: $(BUILD_BIN) 是干啥?
下面这句又是啥意思?
include/buildstamp.h:
echo #define BUILD_STAMP "`date +"%a %b %e %Y %H:%M:%S %Z"`" > include/buildstamp.h
dummy: 啥都没做呀
lib: include/buildstamp.h dummy这个目录是当前目录还是VPATH=../proftpd-1.3.3d?
看最后的错误信息../../proftpd-1.3.3d/include/version.h:1:24: buildstamp.h: No such file or directory,没有到当前目录(proftpd-build),直接找到VPATH=../proftpd-1.3.3d了
???????
以下是Makefile
===========================
top_builddir=.
top_srcdir=../proftpd-1.3.3d
srcdir=../proftpd-1.3.3d
VPATH=../proftpd-1.3.3d
DESTDIR=
include ./Make.rules
DIRS=
EXEEXT=
INSTALL_DEPS=
LIBTOOL_DEPS=../proftpd-1.3.3d/.//ltmain.sh
LIBLTDL=
MAIN_LDFLAGS=
MAIN_LIBS=
BUILD_PROFTPD_OBJS=$(BUILD_OBJS) $(BUILD_STATIC_MODULE_OBJS)
BUILD_PROFTPD_ARCHIVES=$(BUILD_STATIC_MODULE_ARCHIVES)
BUILD_BIN=proftpd$(EXEEXT) ftpcount$(EXEEXT) ftpdctl$(EXEEXT) ftpscrub$(EXEEXT) ftpshut$(EXEEXT) ftptop$(EXEEXT) ftpwho$(EXEEXT)
all: $(BUILD_BIN)
include/buildstamp.h:
echo #define BUILD_STAMP "`date +"%a %b %e %Y %H:%M:%S %Z"`" > include/buildstamp.h
dummy:
lib: include/buildstamp.h dummy
cd lib/ && $(MAKE) lib
src: include/buildstamp.h dummy
cd src/ && $(MAKE) src
modules: include/buildstamp.h dummy
cd modules/ && $(MAKE) static
test -z "$(SHARED_MODULE_OBJS)" -a -z "$(SHARED_MODULE_DIRS)" || (cd modules/ && $(MAKE) shared)
utils: include/buildstamp.h dummy
cd utils/ && $(MAKE) utils
locale: include/buildstamp.h dummy
test -z "$(ENABLE_NLS)" || (cd locale/ && $(MAKE) locale)
dirs: include/buildstamp.h dummy
@dirs="$(DIRS)";
for dir in $$dirs; do
if [ -d "$$dir" ]; then cd $$dir/ && $(MAKE); fi;
done
proftpd$(EXEEXT): lib src modules dirs locale
$(LIBTOOL) --mode=link --tag=CC $(CC) $(LDFLAGS) $(MAIN_LDFLAGS) -o $@ $(BUILD_PROFTPD_OBJS) $(BUILD_PROFTPD_ARCHIVES) $(LIBS) $(MAIN_LIBS)
ftpcount$(EXEEXT): lib utils
$(CC) $(LDFLAGS) -o $@ $(BUILD_FTPCOUNT_OBJS) $(UTILS_LIBS)
ftpdctl$(EXEEXT): lib src
$(CC) $(LDFLAGS) -o $@ $(BUILD_FTPDCTL_OBJS) $(LIBS)
ftpscrub$(EXEEXT): lib utils
$(CC) $(LDFLAGS) -o $@ $(BUILD_FTPSCRUB_OBJS) $(UTILS_LIBS)
ftpshut$(EXEEXT): lib utils
$(CC) $(LDFLAGS) -o $@ $(BUILD_FTPSHUT_OBJS) $(UTILS_LIBS)
ftptop$(EXEEXT): lib utils
$(CC) $(LDFLAGS) -o $@ $(BUILD_FTPTOP_OBJS) $(CURSES_LIBS) $(UTILS_LIBS)
ftpwho$(EXEEXT): lib utils
$(CC) $(LDFLAGS) -o $@ $(BUILD_FTPWHO_OBJS) $(UTILS_LIBS)
check: proftpd$(EXEEXT)
test -z "$(ENABLE_TESTS)" || (cd tests/ && $(MAKE) check)
# BSD install -d doesn't work, so ...
$(DESTDIR)$(localedir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/proftpd $(DESTDIR)$(libdir) $(DESTDIR)$(pkgconfigdir) $(DESTDIR)$(libdir)/proftpd $(DESTDIR)$(libexecdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8:
@if [ ! -d $@ ]; then
mkdir -p $@;
chown $(INSTALL_USER)(INSTALL_GROUP) $@;
chmod 0755 $@;
fi
install-proftpd: proftpd $(DESTDIR)$(includedir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(sysconfdir) $(DESTDIR)$(sbindir)
$(INSTALL_SBIN) proftpd $(DESTDIR)$(sbindir)/proftpd
if [ -f $(DESTDIR)$(sbindir)/in.proftpd ] ; then
rm -f $(DESTDIR)$(sbindir)/in.proftpd ;
fi
ln -s proftpd $(DESTDIR)$(sbindir)/in.proftpd
-chown -h $(INSTALL_USER)(INSTALL_GROUP) $(DESTDIR)$(sbindir)/in.proftpd
install-libs: $(DESTDIR)$(libdir)/proftpd
cd lib/ && $(MAKE) install
install-headers: $(DESTDIR)$(includedir)/proftpd
$(INSTALL_MAN) config.h $(DESTDIR)$(includedir)/proftpd/config.h
cd include/ && $(MAKE) install
install-pkgconfig: $(DESTDIR)$(pkgconfigdir)
@echo 'prefix=$(prefix)' > proftpd.pc
@echo 'exec_prefix=$${prefix}' >> proftpd.pc
@echo 'libdir=$${prefix}/lib/proftpd' >> proftpd.pc
@echo 'includedir=$${prefix}/include/proftpd' >> proftpd.pc
@echo '' >> proftpd.pc
@echo 'Name: ProFTPD' >> proftpd.pc
@echo 'Description: Professional FTP Daemon' >> proftpd.pc
@echo 'Version: $(VERSION)' >> proftpd.pc
@echo 'Requires: ' >> proftpd.pc
@echo 'Libs: -L$${libdir}' >> proftpd.pc
@echo 'Cflags: -I$${includedir}' >> proftpd.pc
$(INSTALL_MAN) proftpd.pc $(DESTDIR)$(pkgconfigdir)/proftpd.pc
install-locales: $(DESTDIR)$(localedir)
test -z "$(ENABLE_NLS)" || (cd locale/ && $(MAKE) install)
install-modules: $(DESTDIR)$(libexecdir) $(DESTDIR)$(sysconfdir)
test -z "$(SHARED_MODULE_OBJS)" -a -z "$(SHARED_MODULE_DIRS)" -a -z "$(STATIC_MODULE_DIRS)" || (cd modules/ && $(MAKE) install)
install-utils: $(DESTDIR)$(sbindir) $(DESTDIR)$(bindir)
$(INSTALL_BIN) ftpcount $(DESTDIR)$(bindir)/ftpcount
$(INSTALL_BIN) ftpdctl $(DESTDIR)$(bindir)/ftpdctl
$(INSTALL_SBIN) ftpscrub $(DESTDIR)$(sbindir)/ftpscrub
$(INSTALL_SBIN) ftpshut $(DESTDIR)$(sbindir)/ftpshut
$(INSTALL_BIN) ftptop $(DESTDIR)$(bindir)/ftptop
$(INSTALL_BIN) ftpwho $(DESTDIR)$(bindir)/ftpwho
$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0755 src/prxs $(DESTDIR)$(bindir)/prxs
install-conf: $(DESTDIR)$(sysconfdir)
if [ ! -f $(DESTDIR)$(sysconfdir)/proftpd.conf ] ; then
$(INSTALL) -o $(INSTALL_USER) -g $(INSTALL_GROUP) -m 0644
$(top_srcdir)/sample-configurations/basic.conf
$(DESTDIR)$(sysconfdir)/proftpd.conf ;
fi
install-libltdl:
cd lib/libltdl/ && $(MAKE) install
install-man: $(DESTDIR)$(mandir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8
$(INSTALL_MAN) $(top_srcdir)/src/ftpdctl.8 $(DESTDIR)$(mandir)/man8
$(INSTALL_MAN) $(top_srcdir)/src/proftpd.8 $(DESTDIR)$(mandir)/man8
$(INSTALL_MAN) $(top_srcdir)/utils/ftpscrub.8 $(DESTDIR)$(mandir)/man8
$(INSTALL_MAN) $(top_srcdir)/utils/ftpshut.8 $(DESTDIR)$(mandir)/man8
$(INSTALL_MAN) $(top_srcdir)/utils/ftpcount.1 $(DESTDIR)$(mandir)/man1
$(INSTALL_MAN) $(top_srcdir)/utils/ftptop.1 $(DESTDIR)$(mandir)/man1
$(INSTALL_MAN) $(top_srcdir)/utils/ftpwho.1 $(DESTDIR)$(mandir)/man1
$(INSTALL_MAN) $(top_srcdir)/src/xferlog.5 $(DESTDIR)$(mandir)/man5
install-all: install-proftpd install-modules install-utils install-conf install-man install-libs install-headers install-pkgconfig install-locales $(INSTALL_DEPS)
install: all install-all
depend:
cd src/ && $(MAKE) depend
cd modules/ && $(MAKE) depend
cd lib/ && $(MAKE) depend
cd utils/ && $(MAKE) depend
clean:
cd src/ && $(MAKE) clean
cd modules/ && $(MAKE) clean
cd lib/ && $(MAKE) clean
cd utils/ && $(MAKE) clean
cd locale/ && $(MAKE) clean
test -z "$(ENABLE_TESTS)" || (cd tests/ && $(MAKE) clean)
@dirs="$(DIRS)";
for dir in $$dirs; do
if [ -d "$$dir" ]; then cd $$dir/ && $(MAKE) clean; fi;
done
rm -f proftpd.pc include/buildstamp.h
rm -f $(BUILD_BIN)
distclean: clean
cd lib/ && $(MAKE) distclean
rm -f Makefile Make.modules Make.rules
lib/Makefile locale/Makefile modules/Makefile src/Makefile
utils/Makefile
rm -f config.h config.status config.cache config.log libtool stamp-h
rm -f include/buildstamp.h
rm -rf .libs/
dist: depend distclean
rm -rf `find . -name CVS`
rm -rf `find . -name .cvsignore`
rm -rf `find . -name core`
rm -rf `find . -name '*~'`
rm -fr `find . -name '*.bak'`
# RPM needs this in the top-level directory in order to support '-t'
mv -f contrib/dist/rpm/proftpd.spec .
# Other users may need to execute these scripts
chmod a+x configure config.sub install-sh modules/glue.sh
# autoheader might not change config.h.in, so touch a stamp file.
${srcdir}/config.h.in: stamp-h.in
${srcdir}/stamp-h.in: configure.in acconfig.h
cd ${srcdir} && autoheader
echo timestamp > ${srcdir}/stamp-h.in
config.h: stamp-h
stamp-h: config.h.in config.status
./config.status
# This target tends to cause more problems than its worth; there are many
# differences between autoconf versions, installed macros, etc between the
# machine used to generate the shipping configure script and the machine on
# which this target might trigger. So try to keep the craziness down by
# avoiding this altogether.
#${srcdir}/configure: configure.in
# cd ${srcdir} && autoconf
Make.rules: Make.rules.in config.status
./config.status
Makefile: Makefile.in Make.rules.in config.status
./config.status
config.status: configure
./config.status --recheck
libtool: $(LIBTOOL_DEPS)
$(SHELL) ./config.status --recheck