summarylogtreecommitdiffstats
path: root/Makefile.archy
blob: 1f650f947346bd1d570fdd41737499479937acc6 (plain)
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
.PHONY: all
.PHONY: generate_sources

AFLAGS=	-gnat12 -gnaty -gnatQ -O2 -gnatpn -gnatws -g1 -j${PROCESSORS}

COBJS=	obj/link.o obj/gprbuild_dummies.o

LOOK=	-aI${.CURDIR}/gnat -aI${.CURDIR}/gen_src \
	-aL${PREFIX}/lib/xmlada/static -aI${PREFIX}/include/xmlada
LARGS=	-largs ${.CURDIR}/obj/link.o \
	-largs ${.CURDIR}/obj/gprbuild_dummies.o \
	-largs ${PREFIX}/lib/xmlada/static/libxmlada_dom.a \
	-largs ${PREFIX}/lib/xmlada/static/libxmlada_input_sources.a \
	-largs ${PREFIX}/lib/xmlada/static/libxmlada_sax.a \
	-largs ${PREFIX}/lib/xmlada/static/libxmlada_schema.a \
	-largs ${PREFIX}/lib/xmlada/static/libxmlada_unicode.a

GENDIR=		gen_src
GEN_SRCS=	${GENDIR}/snames.adb ${GENDIR}/snames.ads
DOCSDIR=	${PREFIX}/share/doc/gprbuild

all: gprbuild

install:
	mkdir -p ${DESTDIR}${PREFIX}/bin \
		${DESTDIR}${PREFIX}/libexec/gprbuild \
		${DESTDIR}${PREFIX}/share/gpr \
		${DESTDIR}${PREFIX}/share/gprconfig
	${BSD_INSTALL_PROGRAM} ${.CURDIR}/obj/gprclean \
		${.CURDIR}/obj/gprinstall \
		${.CURDIR}/obj/gprconfig \
		${.CURDIR}/obj/gprslave \
		${.CURDIR}/obj/gprbuild ${DESTDIR}${PREFIX}/bin
	${BSD_INSTALL_PROGRAM} ${.CURDIR}/obj/gprbind \
		${.CURDIR}/obj/gprlib ${DESTDIR}${PREFIX}/libexec/gprbuild
	${BSD_INSTALL_DATA} ${.CURDIR}/share/_default.gpr \
		${DESTDIR}${PREFIX}/share/gpr
	${BSD_INSTALL_DATA} ${.CURDIR}/share/gprconfig/* \
		${DESTDIR}${PREFIX}/share/gprconfig

install-docs:
	mkdir -p ${DESTDIR}${DOCSDIR}/html ${DESTDIR}${DOCSDIR}/txt \
		${DESTDIR}${DOCSDIR}/pdf
	${BSD_INSTALL_DATA} ${.CURDIR}/doc/txt/gprbuild_ug.txt \
		${DESTDIR}${DOCSDIR}/txt
	${BSD_INSTALL_DATA} ${.CURDIR}/doc/pdf/gprbuild_ug.pdf \
		${DESTDIR}${DOCSDIR}/pdf
	cp -r ${.CURDIR}/doc/html/* ${DESTDIR}${DOCSDIR}/html
	rm -rf ${DESTDIR}${DOCSDIR}/html/_sources
	${BSD_INSTALL_DATA} ${.CURDIR}/doc/*.png \
		${DESTDIR}${DOCSDIR}/html

gprclean: src/gprclean-main.adb ${GEN_SRCS} ${COBJS}
	gnatmake -o ${.TARGET} ${AFLAGS} ${LOOK} \
		${.CURDIR}/src/gprclean-main.adb ${LARGS}

gprbind: gprclean src/gprslave.adb ${GEN_SRCS} ${COBJS}
	gnatmake -o ${.TARGET} ${AFLAGS} ${LOOK} \
		${.CURDIR}/src/gprbind.adb ${LARGS}

gprlib: gprbind src/gprslave.adb ${GEN_SRCS} ${COBJS}
	gnatmake -o ${.TARGET} ${AFLAGS} ${LOOK} \
		${.CURDIR}/src/gprlib.adb ${LARGS}

gprslave: gprlib src/gprslave.adb ${GEN_SRCS} ${COBJS}
	gnatmake -o ${.TARGET} ${AFLAGS} ${LOOK} \
		${.CURDIR}/src/gprslave.adb ${LARGS}

gprinstall: gprslave src/gprinstall-main.adb ${GEN_SRCS} ${COBJS}
	gnatmake -o ${.TARGET} ${AFLAGS} ${LOOK} \
		${.CURDIR}/src/gprinstall-main.adb ${LARGS}

gprconfig: gprinstall src/gprconfig-main.adb ${GEN_SRCS} ${COBJS}
	gnatmake -o ${.TARGET} ${AFLAGS} ${LOOK} \
		${.CURDIR}/src/gprconfig-main.adb ${LARGS}

gprbuild: gprconfig src/gprbuild-main.adb ${GEN_SRCS} ${COBJS}
	gnatmake -o ${.TARGET} ${AFLAGS} ${LOOK} \
		${.CURDIR}/src/gprbuild-main.adb ${LARGS}

obj/link.o: gnat/link.c
	gcc -c -o ${.CURDIR}/${.TARGET} ${.ALLSRC}

obj/gprbuild_dummies.o: src/gprbuild_dummies.c
	gcc -c -o ${.CURDIR}/${.TARGET} ${.ALLSRC}

generate_sources:
	mkdir -p ${.CURDIR}/${GENDIR}
	(cd ${.CURDIR}/gnat && cp xsnamest.adb xutil.* snames.adb-tmpl \
		snames.ads-tmpl snames.h-tmpl ../${GENDIR})
	(cd ${.CURDIR}/${GENDIR} && \
		gnatmake -gnatf -gnatwae -gnatyg -gnatyS xsnamest && \
		./xsnamest && \
		mv snames.ns snames.ads && \
		mv snames.nb snames.adb)

${GEN_SRCS}: generate_sources