summaryrefslogtreecommitdiff
path: root/lang/rexx-imc/files/Makefile
blob: e1e6194e12c83af6c6ee9317d7d4bf6baad21de2 (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
# Makefile for REXX/imc
#
# Based upon the original by the author
# Heavily hacked by jfitz@FreeBSD.ORG
#

CC=		gcc
PIC=		-fPIC
CCFLAGS=	-DHAS_TTYCOM -D_REQUIRED -c ${PIC}

OPTFLAGS=	-O2

# Release Date Variables
RXDAY=		1
RXMONTH=	8
RXYEAR=		96
DATE=		-DDAY=${RXDAY} -DMONTH=${RXMONTH} -DYEAR=${RXYEAR}

REXXDOCS=	README README.avail README.bugreport README.docs \
		README.files README.make README.news README.versions \
		rexx.info rexx.ref rexx.summary rexx.tech

# Shared Library Version
.if ${PORTOBJFORMAT} == "elf"
VER=		2
SHAREDLIB=	librexx.so librexx.so.${VER}
.else
VER=		2.0
SHAREDLIB=	librexx.so.${VER}
.endif
STATICLIB=	librexx.a

REXXLIB=${STATICLIB} ${SHAREDLIB}

MATH=		rxmathfn.rxfn
REXXIMC=	${PREFIX}/bin
FILEDEFS=	-DREXXIMC=\"${REXXIMC}\"
LIBFILES=	rexx.o rxfn.o calc.o util.o shell.o interface.o globals.o
HFILES=		const.h globals.h functions.h rexxsaa.h

all:		rexx rxque rxstack ${MATH}

interface.o:	interface.c ${HFILES}
		${CC} ${OPTFLAGS} ${CCFLAGS} -c ${DATE} ${FILEDEFS} -o $@ interface.c

${SHAREDLIB}:	${LIBFILES}
.for t in ${.TARGET}
		${LD} -Bshareable -o ${t} ${LIBFILES}
.endfor

${STATICLIB}:	${LIBFILES}
		ar rc ${STATICLIB} ${LIBFILES}
		${RANLIB} ${STATICLIB}

rexx:		main.o ${REXXLIB}
		${CC} ${OPTFLAGS} -o rexx main.o -L. -lrexx

rxque:		rxque.o ${STATICLIB}
		${CC} ${OPTFLAGS} -o rxque rxque.o

rxstack:	rxstack.o ${STATICLIB}
		${CC} ${OPTFLAGS} -o rxstack rxstack.o

rxmathfn.rxfn:	rxmathfn.o ${HFILES}
		${LD} -Bshareable -o rxmathfn.rxfn rxmathfn.o -lm

interface.o:	interface.c ${HFILES}
		${CC} ${OPTFLAGS} ${CCFLAGS} -o interface.o ${FILEDEFS} interface.c

install:
		@strip ${SHAREDLIBS} rxmathfn.rxfn
.for f in rexx rxque rxstack
		${BSD_INSTALL_PROGRAM} ${f} ${PREFIX}/bin
.endfor
.for f in rxmathfn.rxfn rxmathfn.rxlib
		${BSD_INSTALL_DATA} ${f} ${PREFIX}/bin
.endfor
.for f in ${REXXLIB}
		${BSD_INSTALL_DATA} ${f} ${PREFIX}/lib
.endfor
		${BSD_INSTALL_DATA} rexxsaa.h ${PREFIX}/include
.if !defined(NOPORTDOCS)
		${MKDIR} ${PREFIX}/share/doc/rexx-imc/
.for f in ${REXXDOCS}
		${BSD_INSTALL_DATA} ${f} ${PREFIX}/share/doc/rexx-imc/
.endfor
.endif

.c.o:
		${CC} ${OPTFLAGS} ${CCFLAGS} -o $@ $<