aboutsummaryrefslogtreecommitdiffstats
path: root/chinese/big5fs/Makefile
blob: 2e263b48df35cf8cc546004eb55c6b483ec2c4f3 (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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# New ports collection makefile for:    zh-big5fs
# Date created:         Oct 13, 2000
# Whom:                 keith@FreeBSD.org
#
# $FreeBSD$
#

PORTNAME=       big5fs
PORTVERSION=        2.2
CATEGORIES=     chinese
MASTER_SITES=       ftp://freebsd.csie.ntu.edu.tw/pub/users/rafan/

MAINTAINER=     keith@FreeBSD.org
COMMENT=        Reads Big5 filenames on Joliet, VFAT and NTFS filesystems

NO_PACKAGE=     "Different versions definitely cause crash"

SYSDIR=         /usr/src/sys
KMODDIR=        ${PREFIX}/modules
PLIST_SUB=      MSDOSFSKO=${MSDOSFSKO}

.include <bsd.port.pre.mk>

.if ${OSVERSION} > 500027
WITHOUT_NTFS=       yes
MSDOSFSDIR=     ${SYSDIR}/fs/msdosfs
MSDOSFSKO=      msdosfs.ko
MSDOSFSKODIR=       ${SYSDIR}/modules/msdosfs
.elif ${OSVERSION} > 500018 && ${OSVERSION} < 500027
MSDOSFSDIR=     ${SYSDIR}/fs/msdosfs
MSDOSFSKO=      msdosfs.ko
MSDOSFSKODIR=       ${SYSDIR}/modules/msdosfs
NTFSDIR=        ${SYSDIR}/fs/ntfs
NTFSPATCH=      ntfs_big5.diff.440000
.elif ${OSVERSION} <= 500018 && ${OSVERSION} < 440001
MSDOSFSDIR=     ${SYSDIR}/msdosfs
MSDOSFSKO=      msdos.ko
MSDOSFSKODIR=       ${SYSDIR}/modules/msdos
NTFSDIR=        ${SYSDIR}/ntfs
NTFSPATCH=      ntfs_big5.diff.440000
.else
MSDOSFSDIR=     ${SYSDIR}/msdosfs
MSDOSFSKO=      msdos.ko
MSDOSFSKODIR=       ${SYSDIR}/modules/msdos
NTFSDIR=        ${SYSDIR}/ntfs
NTFSPATCH=      ntfs_big5.diff.440001
.endif

.if defined(WITHOUT_NTFS)
PLIST_SUB+=             NTFSKMOD="@comment "
.else
PLIST_SUB+=             NTFSKMOD=""
.endif

.if defined(WITHOUT_NTFS)
pre-everything::
    @${ECHO_MSG}
    @${ECHO_MSG} "NTFS big5 patch is broken on this version."
    @${ECHO_MSG} "I will NOT build and install NTFS big5fs."
    @${ECHO_MSG}
.endif

pre-extract:
    @if [ ! -d /sys -o ! -d /usr/src/sys ]; then \
        ${ECHO} "****************************************" ; \
        ${ECHO} " You need to extract kernel source tree" ; \
        ${ECHO} " before you build this package..." ; \
        ${ECHO} "****************************************" ; \
        ${FALSE} ; \
    fi

do-extract:
    @${MKDIR} ${WRKDIR}/msdos ${WRKDIR}/cd9660
    @${CP} -R ${MSDOSFSDIR}/*.[ch] ${WRKDIR}/msdos
    @${CP} ${MSDOSFSKODIR}/Makefile ${WRKDIR}/msdos/Makefile.orig
    @${CP} -R ${SYSDIR}/isofs/cd9660/*.[ch] ${WRKDIR}/cd9660
    @${CP} ${SYSDIR}/modules/cd9660/Makefile ${WRKDIR}/cd9660/Makefile.orig
.if !defined(WITHOUT_NTFS)
        @${MKDIR} ${WRKDIR}/ntfs
        @${CP} -R ${NTFSDIR}/*.[ch] ${WRKDIR}/ntfs
        @${CP} ${SYSDIR}/modules/ntfs/Makefile ${WRKDIR}/ntfs/Makefile.orig
.endif
    @(cd ${WRKDIR}; ${TAR} xzf ${DISTDIR}/${DISTFILES} )
    @${SED} -e 's,@@PREFIX@@,${PREFIX},' ${FILESDIR}/big5fs.sh > ${WRKDIR}/big5fs.sh

do-patch:
    @${SED} -e "/^\.PATH/d" ${WRKDIR}/msdos/Makefile.orig > ${WRKDIR}/msdos/Makefile
    @(cd ${WRKDIR}/msdos; ${PATCH} --quiet < ${WRKDIR}/msdos_big5.diff )
    @${SED} -e "/^\.PATH/d" ${WRKDIR}/cd9660/Makefile.orig > ${WRKDIR}/cd9660/Makefile
    @(cd ${WRKDIR}/cd9660; ${PATCH} --quiet < ${WRKDIR}/cd9660_big5.diff )
.if !defined(WITHOUT_NTFS)
    @${SED} -e "/^\.PATH/d" ${WRKDIR}/ntfs/Makefile.orig > ${WRKDIR}/ntfs/Makefile
    @(cd ${WRKDIR}/ntfs; ${PATCH} --quiet < ${WRKDIR}/${NTFSPATCH} )
.endif

do-build:
    @(cd ${WRKDIR}/msdos; make all)
    @(cd ${WRKDIR}/cd9660; make all)
.if !defined(WITHOUT_NTFS)
    @(cd ${WRKDIR}/ntfs; make all)
.endif

pre-install:
    @${MKDIR} ${KMODDIR}

do-install:
    @${INSTALL_SCRIPT} ${WRKDIR}/big5fs.sh ${PREFIX}/etc/rc.d
    @${INSTALL_SCRIPT} ${WRKDIR}/msdos/${MSDOSFSKO} ${KMODDIR}/${MSDOSFSKO}
    @${INSTALL_SCRIPT} ${WRKDIR}/cd9660/cd9660.ko ${KMODDIR}/cd9660.ko
.if !defined(WITHOUT_NTFS)
    @${INSTALL_SCRIPT} ${WRKDIR}/ntfs/ntfs.ko ${KMODDIR}/ntfs.ko
.endif

.include <bsd.port.post.mk>