aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/libimg/files/Makefile.bsd
blob: 2ed8da982a27108838ac755b9bfed5ec3fcdec9f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
LIB=        img

PORTVERSION?=   1.2.4
LOCALBASE?= /usr/local
TCL_VER?=   8.3

SHLIB_MAJOR=    1
SHLIB_MINOR=    2

.if exists(${LOCALBASE}/lib/tcl${TCL_VER}/tkConfig.sh)
# If for some reason  the file does not exist -- make the best guess. In
# reality, it will exist by the time we are actually doing the build, so
# the quality of the guess does not matter. But we still try well. -mi
TCL_STUB_LIB_SPEC!= . ${LOCALBASE}/lib/tcl${TCL_VER}/tclConfig.sh; \
TK_STUB_LIB_SPEC!=  . ${LOCALBASE}/lib/tcl${TCL_VER}/tclConfig.sh; \
        echo $$TCL_STUB_LIB_SPEC
.else
TCL_STUB_LIB_SPEC=  -L${LOCALBASE}/lib -ltclstub${TCL_VER:S/.//}
TK_STUB_LIB_SPEC=   -L${LOCALBASE}/lib -ltkstub${TCL_VER:S/.//}
.endif

LDADD=      -lm -lz -L${LOCALBASE}/lib -lpng -ljpeg -ltiff \
        ${TCL_STUB_LIB_SPEC} ${TCL_STUB_LIB_SPEC}

CFLAGS+=    -I${LOCALBASE}/include/tcl${TCL_VER}
CFLAGS+=    -I${LOCALBASE}/include/tcl${TCL_VER}/generic
CFLAGS+=    -D__X11__ -I${X11BASE}/include
CFLAGS+=    -I${LOCALBASE}/include/tk${TCL_VER}
CFLAGS+=    -DNDEBUG -Wall -I. -DUSE_TCL_STUBS -DUSE_TK_STUBS
CFLAGS+=    -DVERSION=\"${PORTVERSION}\" -I${LOCALBASE}/include
CFLAGS+=    -DHAVE_JPEGLIB_H -DHAVE_TIFF_H -DHAVE_DLFCN_H -DHAVE_IMG_H

# This seems terrible... The package uses libtiff's interfaces, which are
# clearly marked as internal... It includes the libtiff's header files, which
# libtiff itself does NOT install.  -mi
CFLAGS+=    -I${.CURDIR}/libtiff

INTERNALLIB = don't build the useless static version
NOPROFILE   = don't build the profilable lib

all: ${SHLIB_NAME} pkgIndex.tcl

pkgIndex.tcl: pkgIndex.tcl.in
    sed -e 's,@IMG_PATCH_LEVEL@,${PORTVERSION},g' \
        -e 's,@IMG_SHARED_LIB_FILE@,${SHLIB_NAME},g' \
        < pkgIndex.tcl.in > pkgIndex.tcl

DIR     = lib/Img1.2
SHLIBDIR    = ${LOCALBASE}/${DIR}

${SHLIBDIR} ${SHLIBDIR}/msgs:
    ${MKDIR} $@

beforeinstall: ${SHLIBDIR} ${SHLIBDIR}/msgs
    ${INSTALL_DATA} pkgIndex.tcl ${.CURDIR}/demo.tcl ${.CURDIR}/tkv.tcl \
        ${.CURDIR}/imgmsg.tcl ${SHLIBDIR}
    ${INSTALL_DATA} ${.CURDIR}/msgs/* ${SHLIBDIR}/msgs/

environ:
    @${ECHO} SHLIB_NAME=${SHLIB_NAME} SHLIB_LINK=${SHLIB_LINK} DIR=${DIR}

#       fundamentals of this library
SRCS    =   imgInit.c imgObj.c imgUtil.c imgPmap.c imgUnixPmap.c \
        imgBMP.c imgGIF.c imgJPEG.c imgPNG.c imgPS.c \
        imgTIFF.c imgTIFFjpeg.c imgTIFFpixar.c imgTIFFzip.c \
        imgWindow.c imgXBM.c imgXPM.c

test:   $(SHLIB_NAME)
    PATH=${TK_BIN_DIR}:${PATH}; export PATH; \
    TCLLIBPATH=`pwd`; export TCLLIBPATH; \
    export SHLIB_PATH; \
    LD_LIBRARY_PATH=`pwd`; \
    export LD_LIBRARY_PATH; \
    wish${TCL_VER} demo.tcl

.include <bsd.lib.mk>