|  | @@ -1,2 +1,60 @@
 | 
	
		
			
				|  |  | -all: cJSON.c test.c
 | 
	
		
			
				|  |  | -	gcc cJSON.c test.c -o test -lm
 | 
	
		
			
				|  |  | +OBJ = cJSON.o
 | 
	
		
			
				|  |  | +LIBNAME = libcjson
 | 
	
		
			
				|  |  | +TESTS = test
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +PREFIX ?= /usr/local
 | 
	
		
			
				|  |  | +INCLUDE_PATH ?= include/cjson
 | 
	
		
			
				|  |  | +LIBRARY_PATH ?= lib
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +INSTALL_INCLUDE_PATH = $(DESTDIR)$(PREFIX)/$(INCLUDE_PATH)
 | 
	
		
			
				|  |  | +INSTALL_LIBRARY_PATH = $(DESTDIR)$(PREFIX)/$(LIBRARY_PATH)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +INSTALL ?= cp -a
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +R_CFLAGS = -fpic $(CFLAGS) -Wall -Werror -Wstrict-prototypes -Wwrite-strings
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo false')
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +## shared lib
 | 
	
		
			
				|  |  | +DYLIBNAME = $(LIBNAME).so 
 | 
	
		
			
				|  |  | +DYLIBCMD = $(CC) -shared -o $(DYLIBNAME)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +## create dynamic (shared) library on Darwin (base OS for MacOSX and IOS)
 | 
	
		
			
				|  |  | +ifeq (Darwin, $(uname_S))
 | 
	
		
			
				|  |  | +  DYLIBNAME = $(LIBNAME).dylib
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +## create dyanmic (shared) library on SunOS
 | 
	
		
			
				|  |  | +ifeq (SunOS, $(uname_S))
 | 
	
		
			
				|  |  | +  DYLIBCMD = $(CC) -G -o $(DYLIBNAME)
 | 
	
		
			
				|  |  | +  INSTALL = cp -r
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +## static lib
 | 
	
		
			
				|  |  | +STLIBNAME = $(LIBNAME).a
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.PHONY: all clean install
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +all: $(DYLIBNAME) $(STLIBNAME) $(TESTS)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(DYLIBNAME): $(OBJ)
 | 
	
		
			
				|  |  | +		$(DYLIBCMD) $< $(LDFLAGS)
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  | +$(STLIBNAME): $(OBJ)
 | 
	
		
			
				|  |  | +		ar rcs $@ $<
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(OBJ): cJSON.c cJSON.h 
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +.c.o:
 | 
	
		
			
				|  |  | +		$(CC) -ansi -pedantic -c $(R_CFLAGS) $<
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(TESTS): cJSON.c cJSON.h test.c
 | 
	
		
			
				|  |  | +		$(CC)  cJSON.c test.c -o test -lm -I.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +install: $(DYLIBNAME) $(STLIBNAME)
 | 
	
		
			
				|  |  | +		mkdir -p $(INSTALL_LIBRARY_PATH) $(INSTALL_INCLUDE_PATH)
 | 
	
		
			
				|  |  | +		$(INSTALL) cJSON.h $(INSTALL_INCLUDE_PATH)
 | 
	
		
			
				|  |  | +		$(INSTALL) $(DYLIBNAME) $(INSTALL_LIBRARY_PATH)
 | 
	
		
			
				|  |  | +		$(INSTALL) $(STLIBNAME) $(INSTALL_LIBRARY_PATH)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +clean: 
 | 
	
		
			
				|  |  | +		rm -rf $(DYLIBNAME) $(STLIBNAME) $(TESTS) *.o
 |