# You can put your build options here -include config.mk all: libjsmn.a libjsmn.a: jsmn.o $(AR) rc $@ $^ %.o: %.c jsmn.h $(CC) -c $(CFLAGS) $< -o $@ test: test_default test_strict test_links test_strict_links test_default: test/tests.c $(CC) $(CFLAGS) $(LDFLAGS) $< -o test/$@ ./test/$@ test_strict: test/tests.c $(CC) -DJSMN_STRICT=1 $(CFLAGS) $(LDFLAGS) $< -o test/$@ ./test/$@ test_links: test/tests.c $(CC) -DJSMN_PARENT_LINKS=1 $(CFLAGS) $(LDFLAGS) $< -o test/$@ ./test/$@ test_strict_links: test/tests.c $(CC) -DJSMN_STRICT=1 -DJSMN_PARENT_LINKS=1 $(CFLAGS) $(LDFLAGS) $< -o test/$@ ./test/$@ jsmn_test.o: jsmn_test.c libjsmn.a simple_example: example/simple.o libjsmn.a $(CC) $(LDFLAGS) $^ -o $@ jsondump: example/jsondump.o libjsmn.a $(CC) $(LDFLAGS) $^ -o $@ clean: rm -f jsmn.o jsmn_test.o example/simple.o rm -f libjsmn.a rm -f simple_example rm -f jsondump .PHONY: all clean test