42 lines
898 B
Makefile
42 lines
898 B
Makefile
|
# 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 *.o example/*.o
|
||
|
rm -f *.a *.so
|
||
|
rm -f simple_example
|
||
|
rm -f jsondump
|
||
|
|
||
|
.PHONY: all clean test
|
||
|
|