File: Makefile

package info (click to toggle)
apq 3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,772 kB
  • ctags: 406
  • sloc: ada: 2,943; ansic: 2,053; sh: 676; makefile: 204
file content (158 lines) | stat: -rw-r--r-- 4,443 bytes parent folder | download | duplicates (3)
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# $Id: Makefile,v 1.68 2008/02/06 19:43:52 eveogro Exp $
# Warren W. Gay VE3WWG
#
# Licensed under the ACL (Ada Community License)
# or GPL2 :

include Makeincl

DISTDIR=apq-$(VERSION)
DISTFILE=apq-$(VERSION).tar.gz

#DBG=-g
OPTZ=-O0

CC=gcc

ZOPTS=$(DBG) $(OPTZ)
COPTS=-Wall $(ZOPTS)
AOPTS=-gnata -gnatf -gnato -gnatwp $(ZOPTS)

.c.o:
	$(CC) -c $(COPTS) $(ZOPTS) $(PG_INCL) $(MY_INCL) $< -o $*.o

all:	sybase$(HAVE_SY) setup$(HAVE_MY) mysql$(HAVE_MY) postgresql$(HAVE_PG) libapq.a finish

tmysql::
	rm -f tmysql mysql.trc
	gnatmake -gnatf tmysql


setup0:        # MySQL support is not being included
sybase0:       # Sybase support is not being included
mysql0:        # MySQL support is not being included
postgresql0:   # PostgreSQL is not being included

apq-sybase.ads: apq-sybase.ads-in sybase_gentyp.c prep_sybase
	$(CC) $(COPTS) $(SY_INCL) sybase_gentyp.c -o sybase_gentyp
	$(CC) $(COPTS) $(SY_INCL) sybaseopts.c -o sybaseopts
	./sybaseopts >sybopts.tmp
	./sybase_gentyp | ./prep_sybase "$(SY_LIBS)" >apq-sybase.ads
	rm -f sybase_gentyp

c_sybase.o: c_sybase.c
	$(CC) -c $(COPTS) $(ZOPTS) $(SY_INCL) $< -o c_sybase.o

sybase1: apq-sybase.ads c_sybase.o
	gnatmake -c $(AOPTS) comp_sybase

setup1:	mysql_xcr mysql_xcr2 mysql_xcr3 mysql_incl
	chmod u+x mysql_xcr mysql_xcr2 mysql_xcr3 mysql_incl mysql_xty mysql_linker_options

mysql1: apq-mysql.ads c_mysql.o
	gnatmake -c $(AOPTS) comp_mysql

c_mysql.o: c_mysql.c
	$(CC) -c $(COPTS) $(ZOPTS) $(MY_INCL) c_mysql.c -o c_mysql.o

apq-mysql.ads: apq-mysql.ads-in mysql_generr.c mysql_xcr2 mysql_xcr3
	@rm -f mysql_errmsg.h mysql_generr
	./mysql_xcr >mysql_errmsg.h
	./mysql_xty >mysql_type_codes.h
	$(CC) $(COPTS) $(MY_INCL) mysql_generr.c -o mysql_generr
	$(CC) $(COPTS) $(MY_INCL) mysql_gentyp.c -o mysql_gentyp
	$(CC) $(COPTS) $(MY_INCL) mysqlopts.c -o mysql_opts
	./mysql_opts >opts.tmp
	./mysql_generr | sort -k1,1n | ./mysql_xcr2 >gen.tmp
	./mysql_gentyp | sort -k1,1n | ./mysql_xcr3
	rm -f mysql_generr mysql_errmsg.h mysql_gentyp mysql_type_codes.h gen.tmp opts.tmp mysql_opts gen.tmp

postgresql1: numeric.o notices.o
	gnatmake -c $(AOPTS) comp_pg

libapq.a::
	@rm -f libapq.a
	ar cr libapq.a apq.o $(PG_OBJS) $(MY_OBJS) $(SY_OBJS)
	ar tv libapq.a

finish:
	@echo "--"
	@echo "Now do 'make install' to install the library"
	@echo
	@echo "NOTE: Remove any prior versions of the APQ library"
	@echo "and package, if you have it installed. You will"
	@echo "need to remove those packages and libraries"
	@echo "manually."
	@echo
	@echo "You may 'make uninstall' if you are about to"
	@echo "reinstall APQ version $(VERSION). This will not"
	@echo "work for prior versions of APQ however."
	@echo

install: libapq.a
	HAVE_PG=$(HAVE_PG) HAVE_MY=$(HAVE_MY) HAVE_SY=$(HAVE_SY) ./install_lib
	@echo "--"
	@echo "For fun do:"
	@echo "  1. cd ./eg2"
	@echo "  2. make"
	@echo "  3. follow instructions given."
	@echo "--"
	
uninstall:
	HAVE_PG=1 HAVE_MY=1 HAVE_SY=1 ./install_lib uninstall

reinstall: uninstall clobber all install

clean:
	rm -f *.o *.ali *.core b~*.ad[sb] errs.t libapq.a mysql.trc comp_pg comp_mysql
	rm -f sybase_gentyp gen.tmp sybopts.tmp sybaseopts
	rm -f mysql_gentyp mysql_opts opts.tmp
	(cd sybase ; make clean)

clobber: clean
	rm -f mysql_errmsg.h mysql_type_codes.h mysql_generr Makeincl tmysql apq-mysql.ads
	rm -f tsybase apq-sybase.ads
	rm -f libapq.a GNUmakefile
	rm -fr ./release $(DISTFILE)
	cd ./eg; $(MAKE) clobber
	rm -f apq-1.93-win32-2.7.1.tar.gz
	rm -f apq_manual.dvi apq_manual.pdf binding2.aux binding2.toc binding2.log
	(cd sybase ; make clobber)

manual:	apq_manual.pdf

apq_manual.dvi: binding2.tex
	@rm -f binding2.toc binding2.log binding2.dvi binding2.aux
	latex binding2.tex
	latex binding2.tex
	latex binding2.tex
	mv binding2.dvi apq_manual.dvi

apq_manual.pdf: apq_manual.dvi
	dvipdf apq_manual.dvi apq_manual.pdf

manlabels:
	sed <binding2.tex -n '/\\label{.*}/p' | sed 's|.*\(\\label{.*}\).*$$|\1|g'

distribution: manual
	./build_release
	@mv release $(DISTDIR)
	tar czf $(DISTFILE) $(DISTDIR)
	@rm -fr $(DISTDIR)
	@ls -l $(DISTFILE)

makedist:
	./build_release FORCE
	@mv release $(DISTDIR)
	tar czf $(DISTFILE) $(DISTDIR)
	@rm -fr $(DISTDIR)
	@ls -l $(DISTFILE)

#binary-distributions:
#	./build_release build-win32-1.93-2.7.1
#	@mv release apq-1.93-win32-2.7.1
#	tar czf apq-1.93-win32-2.7.1.tar.gz apq-1.93-win32-2.7.1
#	rm -fr apq-1.93-win32-2.7.1
#	ls -l apq-1.93-win32-2.7.1.tar.gz

# End $Source: /cvsroot/apq/apq/Makefile,v $