secp256k1/Makefile

40 lines
1.4 KiB
Makefile
Raw Normal View History

2013-04-06 22:37:06 +00:00
$(shell CC=$(CC) YASM=$(YASM) ./configure)
include config.mk
2013-03-16 14:51:55 +00:00
2013-04-06 22:37:06 +00:00
FILES := src/*.h src/impl/*.h
2013-03-31 03:03:27 +00:00
JAVA_FILES := src/java/org_bitcoin_NativeSecp256k1.h src/java/org_bitcoin_NativeSecp256k1.c
2013-03-16 14:51:55 +00:00
2013-04-01 10:49:54 +00:00
OBJS :=
2013-03-31 03:03:27 +00:00
2013-04-06 22:37:06 +00:00
ifeq ($(USE_ASM), 1)
OBJS := $(OBJS) obj/field_5x52_asm.o
endif
2013-03-31 03:03:27 +00:00
2013-04-06 22:37:06 +00:00
default: tests libsecp256k1.a libsecp256k1.so
./tests
2013-03-16 14:51:55 +00:00
clean:
2013-04-06 22:37:06 +00:00
rm -rf obj/*.o bench tests *.a *.so config.mk
2013-03-16 14:51:55 +00:00
2013-04-06 22:37:06 +00:00
obj/field_5x52_asm.o: src/field_5x52_asm.asm
$(YASM) -f elf64 -o obj/field_5x52_asm.o src/field_5x52_asm.asm
2013-03-31 03:03:27 +00:00
2013-04-06 22:37:06 +00:00
obj/secp256k1.o: $(FILES) src/secp256k1.c include/secp256k1.h
$(CC) -fPIC -std=c99 $(CFLAGS) $(CFLAGS_EXTRA) -DNDEBUG -O2 src/secp256k1.c -c -o obj/secp256k1.o
2013-03-16 14:51:55 +00:00
2013-04-06 22:37:06 +00:00
bench: $(FILES) src/bench.c $(OBJS)
$(CC) -fPIC -std=c99 $(CFLAGS) $(CFLAGS_EXTRA) -DNDEBUG -O2 src/bench.c $(OBJS) $(LDFLAGS_EXTRA) -o bench
2013-03-16 14:51:55 +00:00
2013-04-06 22:37:06 +00:00
tests: $(FILES) src/tests.c $(OBJS)
2013-04-21 17:07:21 +00:00
$(CC) -std=c99 $(CFLAGS) $(CFLAGS_EXTRA) -DVERIFY -fstack-protector-all -O1 -ggdb3 src/tests.c $(OBJS) $(LDFLAGS_EXTRA) -o tests
2013-04-06 22:37:06 +00:00
libsecp256k1.a: obj/secp256k1.o $(OBJS)
$(AR) -rs $@ $(OBJS) obj/secp256k1.o
2013-04-06 22:37:06 +00:00
libsecp256k1.so: obj/secp256k1.o $(OBJS)
$(CC) -std=c99 $(LDFLAGS_EXTRA) $(OBJS) obj/secp256k1.o -shared -o libsecp256k1.so
2013-04-06 22:37:06 +00:00
libjavasecp256k1.so: $(OBJS) obj/secp256k1.o $(JAVA_FILES)
$(CC) -fPIC -std=c99 $(CFLAGS) $(CFLAGS_EXTRA) -DNDEBUG -O2 -I. src/java/org_bitcoin_NativeSecp256k1.c $(LDFLAGS_EXTRA) $(OBJS) obj/secp256k1.o -shared -o libjavasecp256k1.so