pqc/src/Makefile

83 lines
1.8 KiB
Makefile
Raw Normal View History

2014-05-27 23:38:55 +00:00
include ../common.mk
2014-04-14 20:29:55 +00:00
SOVER = 0
LIBVER = 0.0.1
2014-05-27 23:38:55 +00:00
# sources, headers, objects
2014-06-05 13:49:40 +00:00
PQC_SOURCES = \
ntru_ascii_poly.c \
ntru_decrypt.c \
ntru_encrypt.c \
ntru_file.c \
ntru_keypair.c \
ntru_mem.c \
ntru_poly.c \
ntru_poly_ascii.c \
ntru_rnd.c \
ntru_string.c
2014-05-27 23:38:55 +00:00
PQC_OBJS = $(patsubst %.c, %.o, $(PQC_SOURCES))
2014-06-05 13:49:40 +00:00
PQC_HEADERS = \
ntru_ascii_poly.h \
ntru_decrypt.h \
ntru_encrypt.h \
ntru_err.h \
ntru_file.h \
ntru_keypair.h \
ntru_poly.h \
ntru_params.h \
ntru_poly_ascii.h \
ntru_rnd.h \
ntru_string.h
2014-04-14 20:29:55 +00:00
2014-05-28 19:18:33 +00:00
# libs
LIBS += -L. -lgmp -lmpfr -lflint $(shell $(PKG_CONFIG) --libs glib-2.0) -lm
2014-04-14 20:29:55 +00:00
2014-05-28 19:18:33 +00:00
# includes
INCS = -I. -I/usr/include/flint $(shell $(PKG_CONFIG) --cflags glib-2.0)
2014-04-14 20:29:55 +00:00
CFLAGS += -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
2014-04-14 20:29:55 +00:00
%.o: %.c
$(CC) -fPIC $(CFLAGS) $(CPPFLAGS) $(INCS) -c $*.c
all: libpqc.a libpqc.so.$(LIBVER)
2014-04-14 20:29:55 +00:00
libpqc.a: $(PQC_OBJS) $(PQC_HEADERS)
$(AR) cru libpqc.a $(PQC_OBJS)
libpqc.so.$(LIBVER): libpqc.a $(PQC_HEADERS) $(LIBFLINT)
$(CC) -shared $(CFLAGS) -Wl,-soname,libpqc$(SOVER) -o $@ $(LDFLAGS) \
libpqc.a $(LIBFLINT) $(LIBS)
2014-04-14 20:29:55 +00:00
main: main.o libpqc.a $(LIBFLINT)
$(CC) $(CFLAGS) -o $@ $(LDFLAGS) \
main.o libpqc.a $(LIBFLINT) $(LIBS)
2014-04-14 20:29:55 +00:00
install:
$(INSTALL_DIR) "$(DESTDIR)$(INSTALL_LIBDIR)"
$(INSTALL_BIN) libpqc.so.$(LIBVER) "$(DESTDIR)$(INSTALL_LIBDIR)"
$(LN_S) libpqc.so.$(LIBVER) "$(DESTDIR)$(INSTALL_LIBDIR)"/libpqc.so
$(LN_S) libpqc.so.$(LIBVER) "$(DESTDIR)$(INSTALL_LIBDIR)"/libpqc.so.$(SOVER)
2014-04-14 20:29:55 +00:00
uninstall:
$(RM) "$(DESTDIR)$(INSTALL_LIBDIR)/libpqc.so"
$(RM) "$(DESTDIR)$(INSTALL_LIBDIR)/libpqc.so.$(SOVER)"
$(RM) "$(DESTDIR)$(INSTALL_LIBDIR)/libpqc.so.$(LIBVER)"
2014-04-14 20:29:55 +00:00
doc:
doxygen
doc-pdf: doc
$(MAKE) -C latex pdf
2014-04-14 20:29:55 +00:00
clean:
rm -rf html/ latex/ *.o test libpqc.a libpqc.so* main *.dec *.enc *.hex *.orig core
2014-04-14 20:29:55 +00:00
.PHONY: clean doc doc-pdf install uninstall