aboutsummaryrefslogtreecommitdiffstats
path: root/devel/cc65/Makefile
blob: a6b070048e82da7b36fef5be0a64d77fe7a838a4 (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Ports collection makefile for:    cc65
# Date created:         8 May 2000
# Whom:             Tim Vanderhoek <hoek@FreeBSD.org>
#
# $FreeBSD$
#

PORTNAME=   cc65
PORTVERSION=    2.8.0
CATEGORIES= devel
MASTER_SITES=   ${MASTER_SITE_LOCAL} \
        ftp://ftp.musoftware.de/pub/uz/cc65/
# Mirror sites that were not useful at the time I updated this port:
#       http://www.acc.umu.se/~arvid/cc65_mirror/ \
#       ftp://ftp.elysium.pl/tools/crossplatform/programming/c/cc65/ \
#       http://www.funet.fi/pub/cbm/programming/cc65/
MASTER_SITE_SUBDIR= hoek
WRKSRC=     ${WRKDIR}/cc65-2.8.0
DISTNAME=   cc65-sources-2.8.0

MAINTAINER= hoek@FreeBSD.org

USE_BZIP2=  yes
USE_GMAKE=  yes
CFLAGS+=    -DCC65_INC=\\\"${PREFIX}/lib/cc65/include\\\" \
        -DCC65_LIB=\\\"${PREFIX}/lib/cc65/lib\\\" \
        -I${WRKSRC}/src/common

# These doc files can be compiled using the textproc/sgmltools port
DOCFILES= \
    doc/BUGS doc/CREDITS doc/Makefile doc/Makefile.orig \
    doc/ar65.sgml doc/ca65.sgml doc/cc65.sgml doc/cl65.sgml \
    doc/coding.sgml doc/compile.txt doc/debugging.sgml \
    doc/dio.sgml doc/geos.sgml doc/grc.txt doc/index.sgml \
    doc/internal.txt doc/intro.sgml doc/ld65.sgml \
    doc/library.sgml doc/newvers.txt doc/readme.1st announce.txt


BINFILES= \
    src/ar65/ar65 src/ca65/ca65 src/cc65/cc65 \
    src/cl65/cl65 src/da65/da65 src/grc/grc src/ld65/ld65 src/od65/od65

BINSCRIPTS= src/ca65html/ca65html

CC65INCFILES=  \
    6502.h _6525.h _6526.h _6545.h _6551.h _antic.h _gtia.h _pbi.h _pia.h \
    _pokey.h _sid.h _vdc.h _vic.h ace.h apple2.h assert.h atari.h c128.h \
    c64.h cbm.h cbm510.h cbm610.h conio.h ctype.h dbg.h dio.h errno.h \
    fcntl.h geos.h graphics.h iso646.h joystick.h limits.h locale.h \
    mouse.h pet.h plus4.h rs232.h setjmp.h stdarg.h stddef.h stdio.h \
    stdlib.h string.h time.h zlib.h

CC65GEOSINCFILES= \
    gconst.h gdisk.h gdlgbox.h gfile.h ggraph.h gmemory.h gmenu.h \
    gprocess.h gsprite.h gstruct.h gsym.h gsys.h

CC65LIBFILES= \
    apple2.o atari.o c128.o c64.o cbm510.o cbm610.o geos.o pet.o \
    plus4.o apple2.lib atari.lib c128.lib c64.lib cbm510.lib cbm610.lib \
    geos.lib pet.lib plus4.lib

SAMPLES= Makefile README hello.c mousedemo.c nachtm.c plasma.c sieve.c

GEOSSAMPLES= \
    appfile.grc apphello1.grc apphello2.grc apprmvprot.grc \
    appyesno.grc dialog.c filesel.c geosconio.c geosconiores.res \
    grphstr.c hello1.c hello2.c inittab.c menu.c rmvprot.c yesno.c

do-build:
    cd ${WRKSRC}/src && ${SETENV} ${MAKE_ENV} ${GMAKE} -ef make/gcc.mak
    cd ${WRKSRC}/libsrc && ${GMAKE} all

do-install:
    ${MKDIR} ${PREFIX}/share/doc/cc65
    ${MKDIR} ${PREFIX}/lib/cc65/include/geos
    ${MKDIR} ${PREFIX}/lib/cc65/lib
.if !defined(NOPORTDOCS)
    ${MKDIR} ${PREFIX}/share/doc/cc65/samples/geos
    ${INSTALL_DATA} ${DOCFILES:S,^,${WRKSRC}/,} ${PREFIX}/share/doc/cc65
    ${INSTALL_DATA} ${SAMPLES:S,^,${WRKSRC}/samples/,} \
        ${PREFIX}/share/doc/cc65/samples
    ${INSTALL_DATA} ${GEOSSAMPLES:S,^,${WRKSRC}/samples/geos/,} \
        ${PREFIX}/share/doc/cc65/samples/geos
.endif
    ${INSTALL_PROGRAM} ${BINFILES:S,^,${WRKSRC}/,} ${PREFIX}/bin
    ${INSTALL_SCRIPT} ${BINSCRIPTS:S,^,${WRKSRC}/,} ${PREFIX}/bin
    ${INSTALL_DATA} ${CC65INCFILES:S,^,${WRKSRC}/include/,} \
        ${PREFIX}/lib/cc65/include
    ${INSTALL_DATA} ${CC65GEOSINCFILES:S,^,${WRKSRC}/include/geos/,} \
        ${PREFIX}/lib/cc65/include/geos
    ${INSTALL_DATA} ${CC65LIBFILES:S,^,${WRKSRC}/libsrc/,} \
        ${PREFIX}/lib/cc65/lib

plist:
.for file in ${DOCFILES}
    @${ECHO_CMD} %%PORTDOCS%%share/doc/cc65/`${BASENAME} ${file}`
.endfor
.for file in ${BINFILES}
    @${ECHO_CMD} bin/`${BASENAME} ${file}`
.endfor
.for file in ${BINSCRIPTS}
    @${ECHO_CMD} bin/`${BASENAME} ${file}`
.endfor
.for file in ${CC65GEOSINCFILES}
    @${ECHO_CMD} lib/cc65/include/geos/`${BASENAME} ${file}`
.endfor
.for file in ${CC65INCFILES}
    @${ECHO_CMD} lib/cc65/include/`${BASENAME} ${file}`
.endfor
.for file in ${CC65LIBFILES}
    @${ECHO_CMD} lib/cc65/lib/`${BASENAME} ${file}`
.endfor
.for file in ${SAMPLES}
    @${ECHO_CMD} %%PORTDOCS%%share/doc/cc65/samples/`${BASENAME} ${file}`
.endfor
.for file in ${GEOSSAMPLES}
    @${ECHO_CMD} \
        %%PORTDOCS%%share/doc/cc65/samples/geos/`${BASENAME} ${file}`
.endfor
    @${ECHO_CMD} @dirrm lib/cc65/lib
    @${ECHO_CMD} @dirrm lib/cc65/include/geos
    @${ECHO_CMD} @dirrm lib/cc65/include
    @${ECHO_CMD} @dirrm lib/cc65
    @${ECHO_CMD} %%PORTDOCS%%@dirrm share/doc/cc65/samples/geos
    @${ECHO_CMD} %%PORTDOCS%%@dirrm share/doc/cc65/samples
    @${ECHO_CMD} %%PORTDOCS%%@dirrm share/doc/cc65

.include <bsd.port.mk>