Bmake the library containing and processing the magic.

This commit is contained in:
David E. O'Brien 2004-08-09 08:48:28 +00:00
parent bd83d14fb5
commit 20164649ea
3 changed files with 276 additions and 0 deletions

59
lib/libmagic/Makefile Normal file
View File

@ -0,0 +1,59 @@
# $FreeBSD$
# Copyright (c) David E. O'Brien, 2000-2004
#CONTRDIR= ${.CURDIR}/../../contrib/file
CONTRDIR= ${.CURDIR}/../file-4.10
.PATH: ${CONTRDIR}
LIB= magic
SHLIB_MAJOR= 1
MAN= libmagic.3 magic.5
SRCS= apprentice.c apptype.c ascmagic.c compress.c fsmagic.c funcs.c \
is_tar.c magic.c print.c readelf.c softmagic.c
MAGICPATH?= ${DESTDIR}/usr/share/misc
CFLAGS+= -DMAGIC='"${MAGICPATH}/magic"' -DBUILTIN_ELF -DELFCORE -DHAVE_CONFIG_H
CFLAGS+= -I${.CURDIR} -I${CONTRDIR}
CLEANFILES+= magic magic.mgc magic.mime.mgc magic.mime.PITA
FILES= magic magic.mgc ${CONTRDIR}/magic.mime magic.mime.mgc
FILESDIR= ${MAGICPATH}
MAGFILES= ${CONTRDIR}/Header\
${CONTRDIR}/Localstuff\
${CONTRDIR}/Magdir/[a-z]*
.ORDER: ${LIB} magic.mgc magic.mime.mgc ${MAN}
all: ${LIB} magic.mgc magic.mime.mgc ${MAN}
magic: ${MAGFILES}
cat ${.ALLSRC} > ${.TARGET}
magic.mgc: mkmagic magic
./mkmagic magic
magic.mime.mgc: mkmagic magic.mime
ln -sf ${.ALLSRC:M*magic.mime*} magic.mime.PITA
./mkmagic magic.mime.PITA
mv magic.mime.PITA.mgc magic.mime.mgc
CLEANFILES+= mkmagic
build-tools: mkmagic
mkmagic: apprentice.c funcs.c magic.c print.c
${CC} -DHAVE_CONFIG_H -DCOMPILE_ONLY \
-I${.CURDIR} -I${CONTRDIR} -o ${.TARGET} ${.ALLSRC}
FILEVER!= awk '$$1 == "\#define" && $$2 == "VERSION" { print $$3 }' \
${.CURDIR}/config.h | uniq
CLEANFILES+= ${MAN}
.for mp in ${MAN}
${mp}: ${mp:C/[0-9]/man/}
sed -e 's/__FSECTION__/5/g' -e 's/__CSECTION__/1/g' \
-e 's/__VERSION__/${FILEVER}/g' \
-e 's,__MAGIC__,${MAGICPATH}/magic,g' ${.ALLSRC} > ${.TARGET}
.endfor
.include <bsd.lib.mk>

215
lib/libmagic/config.h Normal file
View File

@ -0,0 +1,215 @@
/* $FreeBSD$ */
#include <osreldate.h>
/* config.h. Generated by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
/* Autoheader needs me */
#define PACKAGE "file"
/* Autoheader needs me */
#define VERSION "4.10"
/* Define if builtin ELF support is enabled. */
#define BUILTIN_ELF 1
/* Define if ELF core file support is enabled. */
#define ELFCORE 1
/* Define if the `long long' type works. */
#define HAVE_LONG_LONG 1
/* Define if we have "tm_zone" in "struct tm". */
#define HAVE_TM_ZONE 1
/* Define if we have a global "char * []" "tzname" variable. */
#define HAVE_TZNAME 1
/* Define if we have "tm_isdst" in "struct tm". */
#define HAVE_TM_ISDST 1
/* Define if we have a global "int" variable "daylight". */
/* #undef HAVE_DAYLIGHT */
/* Define if we have a mkstemp */
#define HAVE_MKSTEMP 1
/* Define to `unsigned char' if standard headers don't define. */
/* #undef uint8_t */
/* Define to `unsigned short' if standard headers don't define. */
/* #undef uint16_t */
/* Define to `unsigned int' if standard headers don't define. */
/* #undef uint32_t */
/* Define to `unsigned long long', if available, or `unsigned long', if
standard headers don't define. */
/* #undef uint64_t */
/* Define to `int' if standard headers don't define. */
/* #undef int32_t */
/* FIXME: These have to be added manually because autoheader doesn't know
about AC_CHECK_SIZEOF_INCLUDES. */
/* The number of bytes in a uint8_t. */
#define SIZEOF_UINT8_T 1
/* The number of bytes in a uint16_t. */
#define SIZEOF_UINT16_T 2
/* The number of bytes in a uint32_t. */
#define SIZEOF_UINT32_T 4
/* The number of bytes in a uint64_t. */
#define SIZEOF_UINT64_T 8
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define to 1 if you have the <getopt.h> header file. */
#define HAVE_GETOPT_H 1
/* Define to 1 if you have the `getopt_long' function. */
#define HAVE_GETOPT_LONG 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the `z' library (-lz). */
#define HAVE_LIBZ 1
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `mbrtowc' function. */
#define HAVE_MBRTOWC 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
/* Define to 1 if you have the `mmap' function. */
#define HAVE_MMAP 1
/* Define to 1 if you have the <stdint.h> header file. */
#if __FreeBSD_version >= 500019
#define HAVE_STDINT_H 1
#endif
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strtoul' function. */
#define HAVE_STRTOUL 1
/* Define to 1 if `st_rdev' is member of `struct stat'. */
#define HAVE_STRUCT_STAT_ST_RDEV 1
/* Define to 1 if your `struct stat' has `st_rdev'. Deprecated, use
`HAVE_STRUCT_STAT_ST_RDEV' instead. */
#define HAVE_ST_RDEV 1
/* Define to 1 if you have the <sys/mman.h> header file. */
#define HAVE_SYS_MMAN_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utime.h> header file. */
/* #undef HAVE_SYS_UTIME_H */
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
/* HAVE_TM_ZONE */
#define HAVE_TM_ZONE 1
/* HAVE_TZNAME */
#define HAVE_TZNAME 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `utime' function. */
#define HAVE_UTIME 1
/* Define to 1 if you have the `utimes' function. */
#define HAVE_UTIMES 1
/* Define to 1 if you have the <utime.h> header file. */
#define HAVE_UTIME_H 1
/* Define to 1 if you have the <wchar.h> header file. */
#define HAVE_WCHAR_H 1
/* Define to 1 if you have the `wcwidth' function. */
#define HAVE_WCWIDTH 1
/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
*/
/* #undef MAJOR_IN_MKDEV */
/* Define to 1 if `major', `minor', and `makedev' are declared in
<sysmacros.h>. */
/* #undef MAJOR_IN_SYSMACROS */
/* Name of package */
#define PACKAGE "file"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */
#define PACKAGE_NAME ""
/* Define to the full name and version of this package. */
#define PACKAGE_STRING ""
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME ""
/* Define to the version of this package. */
#define PACKAGE_VERSION ""
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
/* #undef TM_IN_SYS_TIME */
/* Version number of package */
#define VERSION "4.10"
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to a type if <wchar.h> does not define. */
/* #undef mbstate_t */
/* Define to `long' if <sys/types.h> does not define. */
/* #undef off_t */
/* Define to `unsigned' if <sys/types.h> does not define. */
/* #undef size_t */

View File

@ -33,6 +33,7 @@ LIBDEVSTAT?= ${DESTDIR}${LIBDIR}/libdevstat.a
LIBDIALOG?= ${DESTDIR}${LIBDIR}/libdialog.a
LIBDISK?= ${DESTDIR}${LIBDIR}/libdisk.a
LIBEDIT?= ${DESTDIR}${LIBDIR}/libedit.a
LIBFBSDCURL?= ${DESTDIR}${LIBDIR}/libfbsdcurl.a
LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch.a
LIBFL?= "don't use LIBFL, use LIBL"
LIBFORM?= ${DESTDIR}${LIBDIR}/libform.a
@ -58,6 +59,7 @@ LIBKVM?= ${DESTDIR}${LIBDIR}/libkvm.a
LIBL?= ${DESTDIR}${LIBDIR}/libl.a
LIBLN?= "don't use LIBLN, use LIBL"
LIBM?= ${DESTDIR}${LIBDIR}/libm.a
LIBMAGIC?= ${DESTDIR}${LIBDIR}/libmagic.a
LIBMD?= ${DESTDIR}${LIBDIR}/libmd.a
LIBMENU?= ${DESTDIR}${LIBDIR}/libmenu.a
.if !defined(NO_SENDMAIL)