Modify t1 test to detect SQLITE_BUSY errors
[gnadelite.git] / Makefile
blobccd498b072ffeb15f40f78a8d78d50e8b9e93e09
1 ###########################################################################
2 # GnadeLite
4 # Copyright (C) 2006-2010
5 # Pascal Obry - Olivier Ramonat
7 # This library is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or (at
10 # your option) any later version.
12 # This library is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this library; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 ###########################################################################
23 all::
25 # Options
26 MODE = Release
27 BUILD_DIR = .build/$(shell echo $(MODE) | tr [[:upper:]] [[:lower:]])
28 GNATMAKE_OPTIONS = -XPRJ_BUILD=$(MODE)
29 VALGRIND =
31 CP = cp -p
32 MKDIR = mkdir -p
33 RM = rm -f
34 TAR_DIR = tar czf
35 MV = mv
36 DIFF = diff
38 GNATMAKE = gnat make $(GNATMAKE_OPTIONS) -p
39 GNATCLEAN = gnat clean $(GNATMAKE_OPTIONS)
40 GNATCHECK = gnat check
41 GNATCHOP = gnat chop
43 APP := $(ADA_PROJECT_PATH)
44 OPATH := $(PATH)
45 OPB := $(PRJ_BUILD)
47 export PRJ_BUILD=$(OPB)
49 ifeq ($(OS),Windows_NT)
50 export ADA_PROJECT_PATH=$(PWD)/external-libs/morzhol\;${APP}
51 export PATH=$(PWD)/lib:$(PWD)/external-libs/morzhol/$(B_DIR)/lib:$(OPATH)
52 else
53 export ADA_PROJECT_PATH=$(PWD)/external-libs/morzhol:${APP}
54 endif
56 GNAT_ROOT = $(dir $(shell which gnatls))..
57 prefix =
58 ifeq (,$(prefix))
59 prefix = $(shell cat $(BUILD_DIR)/gnat.root 2>/dev/null)
60 endif
62 GPR =
63 GPR += gnadelite
64 GPR += tests/regtests
66 BLD_GPR := $(addprefix bld-, $(GPR))
67 CLN_GPR := $(addprefix cln-, $(GPR))
68 CHK_GPR := $(addprefix chk-, $(GPR))
70 $(BLD_GPR): bld-% :
71 $(GNATMAKE) -P$*
73 $(CLN_GPR): cln-% :
74 $(GNATCLEAN) -P$*
76 $(CHK_GPR): chk-% :
77 $(GNATCHECK) -P$*
79 all:: prepare_install bld-gnadelite
82 # Aliases or dummy target
83 setup:
84 runtests: regtests
85 test: regtests
86 build: all
88 regtests: bld-tests/regtests
89 @(cd tests; printf 't1... '; \
90 if test `$(RUNTEST) $(BUILD_DIR)/obj/t1 | wc -l` = "10"; then \
91 printf "ok\n"; \
92 else \
93 printf "nok\n"; \
94 fi;)
95 @(cd tests; printf 't2... '; \
96 case `$(RUNTEST) $(BUILD_DIR)/obj/t2` in \
97 1234*) \
98 printf "ok\n"; \
99 ;; \
100 *) \
101 printf "nok\n"; \
102 ;; \
103 esac)
104 @(cd tests; printf 't3... '; \
105 if test `$(RUNTEST) $(BUILD_DIR)/obj/t3` = "OK"; then \
106 printf "ok\n"; \
107 else \
108 printf "nok\n"; \
109 fi;)
111 clean:: $(CLN_GPR)
113 I_BIN = $(prefix)/bin
114 I_INC = $(prefix)/include/gnadelite
115 I_INC_G = $(prefix)/include/gnadelite/gnade
116 I_LIB = $(prefix)/lib/gnadelite
117 I_GPR = $(prefix)/lib/gnat
119 install_clean:
120 ifeq ("$(prefix)", "")
121 $(error "Wrong install path : empty prefix var")
122 endif
123 $(RM) -fr $(I_INC)
124 $(RM) -fr $(I_LIB)
125 $(RM) -f $(I_GPR)/gnadelite.gpr
127 install_dirs: install_clean
128 $(MKDIR) $(I_BIN)
129 $(MKDIR) $(I_INC)
130 $(MKDIR) $(I_INC_G)
131 $(MKDIR) $(I_LIB)
132 $(MKDIR) $(I_GPR)
134 ifeq ("$(INSTALL)", "..")
135 # IF GNAT_ROOT is empty and INSTALL var is not set by the user,
136 # the INSTALL var is equal to ".."
137 # In this case, read INSTALL from mk.install. This file is created
138 # before building
139 install: INSTALL = $(shell cat mk.install)
140 endif
142 install: install_dirs
143 $(CP) src/*.ad[sb] $(I_INC)
144 $(CP) $(BUILD_DIR)/obj/*.ali $(I_LIB)
145 $(CP) $(BUILD_DIR)/lib/*$(SOEXT) $(I_LIB)
146 $(CP) gpr/*.gpr $(I_GPR)
147 ifeq ($(OS), Windows_NT)
148 $(CP) $(I_LIB)/*$(SOEXT) $(I_LIB)/..
149 endif
151 prepare_install::
152 $(MKDIR) $(BUILD_DIR)
153 $(shell echo $(GNAT_ROOT) > $(BUILD_DIR)/gnat.root)