summarylogtreecommitdiffstats
path: root/Makefile.archy
blob: 0e9a29f44042355e76042ab50fe55ed126741098 (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
.PHONY: all
.PHONY: generate_sources

AFLAGS=	-gnat12 -gnaty -gnatQ -O2 -gnatpn -gnatws -g1 -j7

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

CURRENT_FOLDER=$(shell pwd)


LOOK=	-aI${CURRENT_FOLDER}/gnat -aI${CURRENT_FOLDER}/gen_src \
	-aL${PREFIX}/lib/xmlada/static -aI${PREFIX}/include/xmlada

LARGS=	-largs ${CURRENT_FOLDER}/obj/link.o \
	-largs ${CURRENT_FOLDER}/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


BSD_INSTALL_PROGRAM=install
BSD_INSTALL_DATA=install


all: gprbuild

install:
	mkdir -p ${DESTDIR}${PREFIX}/bin \
		${DESTDIR}${PREFIX}/libexec/gprbuild \
		${DESTDIR}${PREFIX}/share/gpr \
		${DESTDIR}${PREFIX}/share/gprconfig

	${BSD_INSTALL_PROGRAM} \
                ${CURRENT_FOLDER}/gprclean \
		${CURRENT_FOLDER}/gprinstall \
		${CURRENT_FOLDER}/gprconfig \
		${CURRENT_FOLDER}/gprslave \
		${CURRENT_FOLDER}/gprbuild ${DESTDIR}${PREFIX}/bin

	${BSD_INSTALL_PROGRAM} ${CURRENT_FOLDER}/gprbind \
		${CURRENT_FOLDER}/gprlib ${DESTDIR}${PREFIX}/libexec/gprbuild

	${BSD_INSTALL_DATA} ${CURRENT_FOLDER}/share/_default.gpr \
		${DESTDIR}${PREFIX}/share/gpr

	${BSD_INSTALL_DATA} ${CURRENT_FOLDER}/share/gprconfig/* \
		${DESTDIR}${PREFIX}/share/gprconfig

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

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

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

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

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

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

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

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

obj/link.o: gnat/link.c
	gcc -c -o ${CURRENT_FOLDER}/obj/link.o gnat/link.c

obj/gprbuild_dummies.o: src/gprbuild_dummies.c
	gcc -c -o ${CURRENT_FOLDER}/obj/gprbuild_dummies.o src/gprbuild_dummies.c

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

${GEN_SRCS}: generate_sources