]> git.evergreen-ils.org Git - Evergreen.git/blob - OpenSRF/src/objson/Makefile
d8ed0b6718c694e36afb5853a5a50758e2eee74f
[Evergreen.git] / OpenSRF / src / objson / Makefile
1 # --------------------------------------------------------------------
2 # Copyright (C) 2005  Georgia Public Library Service 
3 # Bill Erickson <highfalutin@gmail.com>
4 # Mike Rylander <mrylander@gmail.com>
5
6 # This program is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU General Public License
8 # as published by the Free Software Foundation; either version 2
9 # of the License, or (at your option) any later version.
10
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 # GNU General Public License for more details.
15 # --------------------------------------------------------------------
16
17
18 # --------------------------------------------------------------------
19 #
20 # -DSTRICT_JSON_WRITE if not defined, 'null' objects will be written
21 #       as empty strings. e.g. [null, null] => [,,]
22 #
23 # -DSTRICT_JSON_READ if not defiend, empty array and object values
24 #       (not keys) will be considered null.
25 #       e.g. [,,{"key":}] will be parsed as [null, null, {"key":null}]
26 #
27 # --------------------------------------------------------------------
28
29 OBJS                    = object.o json_parser.o utils.o
30 UTIL_DIR                = ../utils
31 DEST_INCLUDE = objson
32 CC_OPTS         += -DSTRICT_JSON_WRITE #-DSTRICT_JSON_READ
33
34 all:    msg test
35
36 msg: 
37         echo "-> $$(pwd)"       
38
39 test: libobjson.so
40         echo $@
41         $(CC) $(CC_OPTS) $(LD_OPTS) -lobjson objson_test.c -o $@
42
43 install:
44         echo installing libobjson.so
45         mkdir -p $(INCLUDEDIR)/$(DEST_INCLUDE)
46         cp $(TMPDIR)/$(DEST_INCLUDE)/*.h $(INCLUDEDIR)/objson/
47         cp $(TMPDIR)/libobjson.so $(LIBDIR)/libobjson.so
48
49 libobjson.so:   $(OBJS)
50         echo $@
51         $(CC) -shared -W1 $(OBJS) -o $(TMPDIR)/libobjson.so
52         $(CC) -shared -W1 $(OBJS) -o libobjson.so
53         mkdir -p $(TMPDIR)/$(DEST_INCLUDE)/
54         cp *.h $(TMPDIR)/$(DEST_INCLUDE)/
55
56 object.o:       object.h object.c
57         echo $@
58         $(CC) -c $(CC_OPTS) object.c -o $@
59
60 json_parser.o:  json_parser.h json_parser.c
61         echo $@
62         $(CC) -c $(CC_OPTS) json_parser.c -o $@
63
64 utils.o:        $(UTIL_DIR)/utils.h $(UTIL_DIR)/utils.c
65         echo $@
66         $(CC) -c $(CC_OPTS) $(UTIL_DIR)/utils.c -o $@
67
68 clean:
69         /bin/rm -f *.o *.so test libobjson.so