File Annotation

Not logged in
a4df85aa9e 2011-01-15       stephan: #!/usr/bin/make -f
2b6f9b149f 2011-01-17       stephan: ########################################################################
2b6f9b149f 2011-01-17       stephan: # Main makefile for libcson.
2b6f9b149f 2011-01-17       stephan: #
2b6f9b149f 2011-01-17       stephan: # Important targets for users not hacking this source tree:
2b6f9b149f 2011-01-17       stephan: #
2b6f9b149f 2011-01-17       stephan: #  all: do everything
2b6f9b149f 2011-01-17       stephan: #  amal: build the amalgamation build
2b6f9b149f 2011-01-17       stephan: #  run: run tests (it's not called 'test' because we have a binary with
2b6f9b149f 2011-01-17       stephan: #       that name)
2b6f9b149f 2011-01-17       stephan: ########################################################################
a4df85aa9e 2011-01-15       stephan: include config.make # see that file for certain configuration options.
2b6f9b149f 2011-01-17       stephan: 
c817c4e0a1 2011-04-13       stephan: CSON_ENABLE_CGI ?= 1
c817c4e0a1 2011-04-13       stephan: 
c817c4e0a1 2011-04-13       stephan: 
a4df85aa9e 2011-01-15       stephan: libcson.LIB.OBJECTS := \
a4df85aa9e 2011-01-15       stephan: 	cson.o \
66b7d3137e 2011-04-11       stephan: 	parser/JSON_parser.o \
c7196c6691 2011-04-14       stephan: 	cson_session.o \
66b7d3137e 2011-04-11       stephan: 	cson_session_file.o
66b7d3137e 2011-04-11       stephan: 
c817c4e0a1 2011-04-13       stephan: CFLAGS_C99 = $(filter-out -std=c89,$(CFLAGS)) -std=c99
c817c4e0a1 2011-04-13       stephan: 
c817c4e0a1 2011-04-13       stephan: 
c817c4e0a1 2011-04-13       stephan: SQLITE3_H := $(firstword $(wildcard $(addsuffix /sqlite3.h,. /usr/include /usr/local/include $(HOME)/include)))
66b7d3137e 2011-04-11       stephan: # too damned slow: $(shell locate sqlite3.h 2>/dev/null | grep -w include >/dev/null 2>&1 && echo 1)
c817c4e0a1 2011-04-13       stephan: 
c817c4e0a1 2011-04-13       stephan: ########################################################################
c817c4e0a1 2011-04-13       stephan: # Set up a local/embedded copy of sqlite3 for some of my test purposes...
c5e9348571 2011-04-14       stephan: # i found out afterwards: http://www.sqlite.org/compile.html#omitfeatures
c5e9348571 2011-04-14       stephan: # The use of -DSQLITE_OMIT_xxx here isn't supposed to work, but it seems
c5e9348571 2011-04-14       stephan: # to do what i want (remove the requirement for -ldl).
c817c4e0a1 2011-04-13       stephan: ifeq (2,$(words $(wildcard ./sqlite3.c ./sqlite3.h)))
c817c4e0a1 2011-04-13       stephan: SQLITE3.O := ./sqlite3.o
c817c4e0a1 2011-04-13       stephan: CPDO_ENABLE_SQLITE3 := 1
c817c4e0a1 2011-04-13       stephan: LDFLAGS_SQLITE3 := -L. -lsqlite3
c817c4e0a1 2011-04-13       stephan: sqlite3.c:
c817c4e0a1 2011-04-13       stephan: sqlite3.h:
c817c4e0a1 2011-04-13       stephan: sqlite3.o: sqlite3.c sqlite3.h
c817c4e0a1 2011-04-13       stephan: sqlite3.o: CPPFLAGS:=\
c817c4e0a1 2011-04-13       stephan: 	-I. \
c817c4e0a1 2011-04-13       stephan: 	$(CPPFLAGS) \
c817c4e0a1 2011-04-13       stephan: 	-DSQLITE_THREADSAFE=0 \
c817c4e0a1 2011-04-13       stephan: 	-DSQLITE_TEMP_STORE=3 \
c817c4e0a1 2011-04-13       stephan: 	-DSQLITE_OMIT_LOAD_EXTENSION=1
c817c4e0a1 2011-04-13       stephan: libsqlite3.a: sqlite3.o
c817c4e0a1 2011-04-13       stephan: 	$(AR) crs $@ sqlite3.o
c817c4e0a1 2011-04-13       stephan: # C99: sqlite3.h does not compile cleanly in C89 mode
c817c4e0a1 2011-04-13       stephan: # due to its use of (long long).
978b57e491 2011-04-14       stephan: #CPPFLAGS:=-I. $(filter-out -I.,$(CPPFLAGS))
f628c1a706 2011-04-15       stephan: $(SQLITE3.O) cpdo_amalgamation.o cson_sqlite3.o: CPPFLAGS:=-I. $(CFLAGS_C99)
c817c4e0a1 2011-04-13       stephan: cpdo_amalgamation.o: libsqlite3.a
c817c4e0a1 2011-04-13       stephan: endif
c817c4e0a1 2011-04-13       stephan: # /local sqlite3
c817c4e0a1 2011-04-13       stephan: ########################################################################
c817c4e0a1 2011-04-13       stephan: 
66b7d3137e 2011-04-11       stephan: ifeq (,$(SQLITE3_H))
66b7d3137e 2011-04-11       stephan:   CPDO_ENABLE_SQLITE3 ?= 0
66b7d3137e 2011-04-11       stephan: else
66b7d3137e 2011-04-11       stephan:   CPDO_ENABLE_SQLITE3 ?= 1
66b7d3137e 2011-04-11       stephan: endif
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: ifeq (1,$(CPDO_ENABLE_SQLITE3))
c817c4e0a1 2011-04-13       stephan:     LDFLAGS_SQLITE3 ?= -lsqlite3
66b7d3137e 2011-04-11       stephan: else
c817c4e0a1 2011-04-13       stephan:     LDFLAGS_SQLITE3 ?=
66b7d3137e 2011-04-11       stephan: endif
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: BIN_MYSQL5_CONFIG := $(call ShakeNMake.CALL.FIND_BIN,mysql_config)
66b7d3137e 2011-04-11       stephan: ifneq (,$(BIN_MYSQL5_CONFIG))
66b7d3137e 2011-04-11       stephan:     CPDO_ENABLE_MYSQL5 ?= 1
66b7d3137e 2011-04-11       stephan: else
66b7d3137e 2011-04-11       stephan:     CPDO_ENABLE_MYSQL5 ?= 0
66b7d3137e 2011-04-11       stephan:     LDFLAGS_MYSQL5 :=
66b7d3137e 2011-04-11       stephan: endif
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: ifeq (1,$(CPDO_ENABLE_MYSQL5))
66b7d3137e 2011-04-11       stephan:     LDFLAGS_MYSQL5 := $(shell $(BIN_MYSQL5_CONFIG) --libs)
66b7d3137e 2011-04-11       stephan:     CFLAGS_MYSQL5 := $(shell $(BIN_MYSQL5_CONFIG) --cflags)
66b7d3137e 2011-04-11       stephan: endif
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: ifneq (00,$(CPDO_ENABLE_SQLITE3)$(CPDO_ENABLE_MYSQL5))
66b7d3137e 2011-04-11       stephan:   libcson.LIB.OBJECTS += \
66b7d3137e 2011-04-11       stephan: 	cson_session_cpdo.o \
f628c1a706 2011-04-15       stephan: 	cson_cpdo.o \
c817c4e0a1 2011-04-13       stephan: 	cpdo_amalgamation.o \
c817c4e0a1 2011-04-13       stephan: 	$(SQLITE3.O)
66b7d3137e 2011-04-11       stephan:   CSON_ENABLE_CPDO := 1
66b7d3137e 2011-04-11       stephan: else
66b7d3137e 2011-04-11       stephan:   CSON_ENABLE_CPDO := 0
66b7d3137e 2011-04-11       stephan: endif
66b7d3137e 2011-04-11       stephan: 
f628c1a706 2011-04-15       stephan: CPPFLAGS.CPDO := -DCSON_ENABLE_CPDO=$(CSON_ENABLE_CPDO)
66b7d3137e 2011-04-11       stephan: ifeq (1,$(CPDO_ENABLE_SQLITE3))
f628c1a706 2011-04-15       stephan:     CPPFLAGS.CPDO += -DCPDO_ENABLE_SQLITE3=1
fc60825290 2011-04-18       stephan:   session/sessions.sqlite3: session/EMPTY.sessions.sqlite3
fc60825290 2011-04-18       stephan: 	cp $^ $@
fc60825290 2011-04-18       stephan:   cson_session_cpdo.o: session/sessions.sqlite3
66b7d3137e 2011-04-11       stephan: endif
66b7d3137e 2011-04-11       stephan: ifeq (1,$(CPDO_ENABLE_MYSQL5))
f628c1a706 2011-04-15       stephan:     CPPFLAGS.CPDO += -DCPDO_ENABLE_MYSQL5=1
66b7d3137e 2011-04-11       stephan: endif
f628c1a706 2011-04-15       stephan: cson_session_cpdo.o cpdo_amalgamation.o cson_cpdo.o: CPPFLAGS+=$(CPPFLAGS.CPDO)
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: #libcson.LIB.OBJECTS := $(patsubst %,$(SRC_DIR)/%,$(libcson.LIB.OBJECTS))
a4df85aa9e 2011-01-15       stephan: cson.o: cson_list.h
a4df85aa9e 2011-01-15       stephan: cson_list.h:
1dafbdeff3 2011-01-28       stephan: BINS_LDFLAGS :=
66b7d3137e 2011-04-11       stephan: ifeq (1,$(CPDO_ENABLE_SQLITE3))
c817c4e0a1 2011-04-13       stephan:     cson_sqlite3.o test-sq3.o:  CPPFLAGS+=-DCSON_ENABLE_SQLITE3=1
1dafbdeff3 2011-01-28       stephan:     libcson.LIB.OBJECTS += cson_sqlite3.o
66b7d3137e 2011-04-11       stephan:     libcson.DLL.LDFLAGS += $(LDFLAGS_SQLITE3)
1dafbdeff3 2011-01-28       stephan:     BINS_LDFLAGS += $(LDFLAGS_SQLITE3)
1dafbdeff3 2011-01-28       stephan: endif
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: ifeq (1,$(CPDO_ENABLE_MYSQL5))
66b7d3137e 2011-04-11       stephan:     libcson.DLL.LDFLAGS += $(LDFLAGS_MYSQL5)
a17739cf15 2011-04-16       stephan:     BINS_LDFLAGS += $(LDFLAGS_MYSQL5)
a17739cf15 2011-04-16       stephan: endif
a17739cf15 2011-04-16       stephan: 
fc60825290 2011-04-18       stephan: 
fc60825290 2011-04-18       stephan: ########################################################################
fc60825290 2011-04-18       stephan: # libwhio-based session management...
fc60825290 2011-04-18       stephan: CSON_ENABLE_ZLIB ?= 0# zlib is optionally used by whio, but cson doesn't use it
fc60825290 2011-04-18       stephan: CSON_ENABLE_WHIO ?= 0# enables/disables the whio_ht-based cson_sessmgr implementation.
fc60825290 2011-04-18       stephan: ifeq (1,$(CSON_ENABLE_WHIO))
fc60825290 2011-04-18       stephan:     IO_AMAL.C := whio_amalgamation.c
fc60825290 2011-04-18       stephan:     IO_AMAL.H := include/wh/whio/whio_amalgamation.h
fc60825290 2011-04-18       stephan:     IO_AMAL.O := whio_amalgamation.o
fc60825290 2011-04-18       stephan:     cson_session.o: CPPFLAGS+=-DCSON_ENABLE_WHIO=$(CSON_ENABLE_WHIO)
fc60825290 2011-04-18       stephan:     $(IO_AMAL.O) cson_session_whio_ht.o: CPPFLAGS+=-DWHIO_CONFIG_ENABLE_ZLIB=$(CSON_ENABLE_ZLIB)
fc60825290 2011-04-18       stephan:     $(IO_AMAL.O): $(IO_AMAL.C)
fc60825290 2011-04-18       stephan:     $(IO_AMAL.C): $(IO_AMAL.H)
e2923e5184 2011-04-20       stephan:     libcson.LIB.OBJECTS += cson_session_whio_ht.o $(IO_AMAL.O)
069c91e7f6 2011-04-21       stephan:     libcson.LIB.OBJECTS += cson_session_whio_epfs.o
fc60825290 2011-04-18       stephan:     session/sessions.whio_ht: session/EMPTY.sessions.whio_ht
fc60825290 2011-04-18       stephan: 	cp $^ $@
069c91e7f6 2011-04-21       stephan:     session/sessions.whio_epfs: session/EMPTY.sessions.whio_epfs.gz
069c91e7f6 2011-04-21       stephan: 	gzip -c -d < $^ > $@
fc60825290 2011-04-18       stephan:     cson_session_whio_ht.o: session/sessions.whio_ht
069c91e7f6 2011-04-21       stephan:     cson_session_whio_epfs.o: session/sessions.whio_epfs
e2923e5184 2011-04-20       stephan:     libwhio.LIB.OBJECTS := $(IO_AMAL.O)
e2923e5184 2011-04-20       stephan:     ifeq (1,$(CSON_ENABLE_ZLIB))
e2923e5184 2011-04-20       stephan:       libwhio.LIB.LDFLAGS := -lz
e2923e5184 2011-04-20       stephan:     endif
e2923e5184 2011-04-20       stephan:     $(eval $(call ShakeNMake.CALL.RULES.LIBS,libwhio))
e2923e5184 2011-04-20       stephan:     cson_session_whio_ht.o: $(libwhio.LIB)
7dcdbb55f6 2011-04-20       stephan:     CLEAN_FILES += $(libwhio.LIB)
fc60825290 2011-04-18       stephan: endif
fc60825290 2011-04-18       stephan: ifeq (1,$(CSON_ENABLE_ZLIB))
fc60825290 2011-04-18       stephan:    libcson.DLL.LDFLAGS += -lz
fc60825290 2011-04-18       stephan: endif
d1af8a8c60 2011-04-20       stephan: .PHONY: whio
d1af8a8c60 2011-04-20       stephan: whio:
fc60825290 2011-04-18       stephan: 	$(MAKE) all CSON_ENABLE_WHIO=1 CSON_ENABLE_ZLIB=1
fc60825290 2011-04-18       stephan: # /whio
fc60825290 2011-04-18       stephan: ########################################################################
fc60825290 2011-04-18       stephan: 
fc60825290 2011-04-18       stephan: 
a4df85aa9e 2011-01-15       stephan: libcson.DLL.OBJECTS := $(libcson.LIB.OBJECTS)
a4df85aa9e 2011-01-15       stephan: libcson.DLL: $(libcson.LIB.OBJECTS)
a4df85aa9e 2011-01-15       stephan: $(eval $(call ShakeNMake.CALL.RULES.LIBS,libcson))
a4df85aa9e 2011-01-15       stephan: $(eval $(call ShakeNMake.CALL.RULES.DLLS,libcson))
a4df85aa9e 2011-01-15       stephan: 
2b6f9b149f 2011-01-17       stephan: test.BIN.OBJECTS := test.o
1dafbdeff3 2011-01-28       stephan: test.BIN.LDFLAGS := $(BINS_LDFLAGS)
3a8104fa92 2011-07-09       stephan: $(eval $(call ShakeNMake.CALL.RULES.BIN,test))
c817c4e0a1 2011-04-13       stephan: test.o: CFLAGS:=$(CFLAGS_C99)
2ce0666163 2011-01-16       stephan: test.o: cson.c cson_list.h # test.c imports these files directly
d1fe669e3e 2011-01-15       stephan: 
66b7d3137e 2011-04-11       stephan: json-parser.BIN.OBJECTS := json-parser.o $(libcson.LIB)
1dafbdeff3 2011-01-28       stephan: json-parser.BIN.LDFLAGS := $(BINS_LDFLAGS)
c817c4e0a1 2011-04-13       stephan: json-parser.o: CFLAGS:=$(CFLAGS_C99)
3a8104fa92 2011-07-09       stephan: $(eval $(call ShakeNMake.CALL.RULES.BIN,json-parser))
a4df85aa9e 2011-01-15       stephan: 
a4df85aa9e 2011-01-15       stephan: $(test.BIN): $(libcson.LIB)
d1fe669e3e 2011-01-15       stephan: $(json-parser.BIN): $(libcson.DLL)
1dafbdeff3 2011-01-28       stephan: all: $(test.BIN) $(json-parser.BIN) $(test-sq3.BIN)
1dafbdeff3 2011-01-28       stephan: 
66b7d3137e 2011-04-11       stephan: ########################################################################
66b7d3137e 2011-04-11       stephan: # cson_cgi...
c817c4e0a1 2011-04-13       stephan: ifeq (1,$(CSON_ENABLE_CGI))
66b7d3137e 2011-04-11       stephan: CGI_DIR := ./cgi
66b7d3137e 2011-04-11       stephan: CSON_CGI.OBJECTS := \
66b7d3137e 2011-04-11       stephan: 	$(patsubst %,$(CGI_DIR)/%, \
8ef770594b 2011-04-15       stephan: 		cson_cgi.o \
8ef770594b 2011-04-15       stephan: 	)
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: libcson_cgi.LIB.OBJECTS := $(libcson.LIB.OBJECTS) $(CSON_CGI.OBJECTS)
66b7d3137e 2011-04-11       stephan: CLEAN_FILES += $(CGI_DIR)/*.o
66b7d3137e 2011-04-11       stephan: $(eval $(call ShakeNMake.CALL.RULES.LIBS,libcson_cgi))
8ef770594b 2011-04-15       stephan: $(libcson_cgi.LIB): $(libcson_cgi.LIB.OBJECTS)
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: cgi-test.BIN.OBJECTS := cgi-test.o $(libcson_cgi.LIB)
66b7d3137e 2011-04-11       stephan: cgi-test.BIN.LDFLAGS := $(BINS_LDFLAGS) $(LDFLAGS_MYSQL5) $(LDFLAGS_SQLITE3)
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: cgi-test.o: CFLAGS:=$(CFLAGS_C99)
66b7d3137e 2011-04-11       stephan: $(eval $(call ShakeNMake.EVAL.RULES.BIN,cgi-test))
66b7d3137e 2011-04-11       stephan: 
da80a548a4 2011-04-15       stephan: $(CGI_DIR)/cson_cgi.o cson_session.o cson_session_cpdo.o: CPPFLAGS+=-DCSON_ENABLE_CPDO=$(CSON_ENABLE_CPDO)
66b7d3137e 2011-04-11       stephan: 
66b7d3137e 2011-04-11       stephan: all: $(libcson_cgi.LIB)
66b7d3137e 2011-04-11       stephan: all: $(cgi-test.BIN)
c817c4e0a1 2011-04-13       stephan: endif
66b7d3137e 2011-04-11       stephan: # /cson_cgi
66b7d3137e 2011-04-11       stephan: ########################################################################
1dafbdeff3 2011-01-28       stephan: 
66b7d3137e 2011-04-11       stephan: ifeq (1,$(CPDO_ENABLE_SQLITE3))
1dafbdeff3 2011-01-28       stephan:     test-sq3.BIN.OBJECTS := test-sq3.o $(libcson.LIB)
1dafbdeff3 2011-01-28       stephan:     test-sq3.BIN.LDFLAGS := $(BINS_LDFLAGS)
1dafbdeff3 2011-01-28       stephan:     $(eval $(call ShakeNMake.EVAL.RULES.BIN,test-sq3))
1dafbdeff3 2011-01-28       stephan:     test-sq3.o: CFLAGS+=-std=c99
1dafbdeff3 2011-01-28       stephan:     $(test-sq3.BIN): $(libcson.LIB)
1dafbdeff3 2011-01-28       stephan:     all: $(test-sq3.BIN)
a17739cf15 2011-04-16       stephan: endif
a17739cf15 2011-04-16       stephan: 
73710710b5 2011-04-17       stephan: ifeq (1,$(CSON_ENABLE_CPDO))
a17739cf15 2011-04-16       stephan:     test-cpdo.BIN.OBJECTS := test-cpdo.o $(libcson.LIB)
a17739cf15 2011-04-16       stephan:     test-cpdo.BIN.LDFLAGS := $(BINS_LDFLAGS)
a17739cf15 2011-04-16       stephan:     $(eval $(call ShakeNMake.EVAL.RULES.BIN,test-cpdo))
73710710b5 2011-04-17       stephan:     test-cpdo.o: CPPFLAGS+=-DCSON_ENABLE_CPDO=1 -DCPDO_ENABLE_SQLITE3=$(CPDO_ENABLE_SQLITE3) -DCPDO_ENABLE_MYSQL5=$(CPDO_ENABLE_MYSQL5)
e2923e5184 2011-04-20       stephan:     test-cpdo.o: CFLAGS:=$(CFLAGS_C99)
a17739cf15 2011-04-16       stephan:     $(test-cpdo.BIN): $(libcson.LIB)
a17739cf15 2011-04-16       stephan:     all: $(test-cpdo.BIN)
73710710b5 2011-04-17       stephan: 
73710710b5 2011-04-17       stephan: endif
73710710b5 2011-04-17       stephan: 
73710710b5 2011-04-17       stephan: ifeq (1,$(CSON_ENABLE_CPDO))
73710710b5 2011-04-17       stephan:     select-to-json.BIN.OBJECTS := select-to-json.o $(libcson.LIB)
73710710b5 2011-04-17       stephan:     select-to-json.BIN.LDFLAGS := $(BINS_LDFLAGS)
73710710b5 2011-04-17       stephan:     $(eval $(call ShakeNMake.EVAL.RULES.BIN,select-to-json))
73710710b5 2011-04-17       stephan:     select-to-json.o: CPPFLAGS+=-DCSON_ENABLE_CPDO=1 -DCPDO_ENABLE_SQLITE3=$(CPDO_ENABLE_SQLITE3) -DCPDO_ENABLE_MYSQL5=$(CPDO_ENABLE_MYSQL5)
9befef9200 2011-04-17       stephan: #    select-to-json.o: CFLAGS+=-std=c99
73710710b5 2011-04-17       stephan:     $(select-to-json.BIN): $(libcson.LIB)
73710710b5 2011-04-17       stephan:     all: $(select-to-json.BIN)
66b7d3137e 2011-04-11       stephan: endif
66b7d3137e 2011-04-11       stephan: 
2b6f9b149f 2011-01-17       stephan: ########################################################################
66b7d3137e 2011-04-11       stephan: # Create cson_lists.h from the cson_list.h supermacro. We need
66b7d3137e 2011-04-11       stephan: # this for building the amalgamation.
baf44f31ab 2011-01-17       stephan: LISTS_H := cson_lists.h
baf44f31ab 2011-01-17       stephan: $(LISTS_H): cson_list.h Makefile
baf44f31ab 2011-01-17       stephan: 	@echo "Creating $@..."
f292024894 2011-01-17       stephan: 	@echo "/* Auto-generated from cson_list.h. Edit at your own risk! */" > $@
baf44f31ab 2011-01-17       stephan: 	@gcc -E -DLIST_T=cson_value_list -DVALUE_T=cson_value\ \* cson_list.h -DVALUE_T_IS_PTR=1 < cson_list.h >> $@
baf44f31ab 2011-01-17       stephan: 	@gcc -E -DLIST_T=cson_kvp_list -DVALUE_T=cson_kvp\ \* cson_list.h -DVALUE_T_IS_PTR=1 < cson_list.h >> $@
baf44f31ab 2011-01-17       stephan: 	@sed -e '/^#/d' < $@ > $@.foo && mv $@.foo $@
baf44f31ab 2011-01-17       stephan: test.o: $(LISTS_H) # b/c test.c #includes cson.c directly
baf44f31ab 2011-01-17       stephan: cson.o: $(LISTS_H)
20c1e44d2b 2011-03-25       stephan: # CLEAN_FILES += $(LISTS_H)
54251b81b7 2011-01-16       stephan: 
baf44f31ab 2011-01-17       stephan: ########################################################################
baf44f31ab 2011-01-17       stephan: # Amalgamation build: stuff all required public headers into a single
baf44f31ab 2011-01-17       stephan: # megaheader and all required sources (and private headers) into a
baf44f31ab 2011-01-17       stephan: # single C file. This requires a good deal of hackery due to how
baf44f31ab 2011-01-17       stephan: # cson.c uses cson_list.h to create list implementation code.
66b7d3137e 2011-04-11       stephan: amal:
66b7d3137e 2011-04-11       stephan: 	bash ./createAmalgamation.sh
66b7d3137e 2011-04-11       stephan: CLEAN_FILES += $(wildcard cson_amalgamation_*.[cho])
54251b81b7 2011-01-16       stephan: 
54251b81b7 2011-01-16       stephan: 
54251b81b7 2011-01-16       stephan: ########################################################################
54251b81b7 2011-01-16       stephan: # create emacs tags...
66b7d3137e 2011-04-11       stephan: bin_etags := $(shell which etags 2>/dev/null)
54251b81b7 2011-01-16       stephan: ifneq (,$(bin_etags))
54251b81b7 2011-01-16       stephan:     tagfile := TAGS
54251b81b7 2011-01-16       stephan:     FORCE:
54251b81b7 2011-01-16       stephan:     .PHONY: FORCE tags
54251b81b7 2011-01-16       stephan:     $(tagfile): FORCE
54251b81b7 2011-01-16       stephan: 	find . -name '*.[ch]' -print | $(bin_etags) -f $@ -
54251b81b7 2011-01-16       stephan:     tags: $(tagfile)
54251b81b7 2011-01-16       stephan:     CLEAN_FILES += $(tagfile)
cf90f85e63 2011-01-29       stephan:     #$(wildcard *.o): $(tagfile)
b4dde6ec58 2011-01-17       stephan:     #cson.o: $(tagfile)
54251b81b7 2011-01-16       stephan: endif
54251b81b7 2011-01-16       stephan: # ^^^ bin_etags
2b6f9b149f 2011-01-17       stephan: 
2b6f9b149f 2011-01-17       stephan: ########################################################################
2b6f9b149f 2011-01-17       stephan: # run sanity tests...
2b6f9b149f 2011-01-17       stephan: run: $(json-parser.BIN)
2b6f9b149f 2011-01-17       stephan: 	@echo "Running MUST-PASS tests..."
437bfb9ffa 2011-01-17       stephan: 	@echo -e "\t./$(test.BIN)"; \
437bfb9ffa 2011-01-17       stephan: 		./$(test.BIN) 1>/dev/null 2>&1 \
437bfb9ffa 2011-01-17       stephan: 		|| { x=$$?; echo "Basic test app failed with code [$$x]."; exit $$x; }
437bfb9ffa 2011-01-17       stephan: 	@for i in json/pass-*.json checker/test/pass*.json; do \
2b6f9b149f 2011-01-17       stephan: 		echo -e "\t$$i"; \
2b6f9b149f 2011-01-17       stephan: 		./$(json-parser.BIN) -f $$i 1>/dev/null || exit; \
2b6f9b149f 2011-01-17       stephan: 	done
2b6f9b149f 2011-01-17       stephan: 	@echo "Running MUST-FAIL tests..."
437bfb9ffa 2011-01-17       stephan: 	@for i in json/fail-*.json checker/test/fail*.json; do \
2b6f9b149f 2011-01-17       stephan: 		echo -e "\t$$i"; \
2b6f9b149f 2011-01-17       stephan: 		./$(json-parser.BIN) -f $$i 1>/dev/null 2>&1 && exit; \
2b6f9b149f 2011-01-17       stephan: 	done; \
2b6f9b149f 2011-01-17       stephan: 	true
2b6f9b149f 2011-01-17       stephan: 
2b6f9b149f 2011-01-17       stephan: $(filter-out cson_amalgamation.o,$(wildcard *.o)): Makefile config.make common.make