diff options
Diffstat (limited to '')
| -rw-r--r-- | src/Makefile | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..6e4726a --- /dev/null +++ b/src/Makefile @@ -0,0 +1,72 @@ +#### +# +# ecgen, tool for generating Elliptic curve domain parameters +# Copyright (C) 2017 J08nY +# +#### + +CC=gcc +GP2C=gp2c + +CFLAGS=-O3 -Wall +LDFLAGS= + +GP_CFLAGS=-O3 -Wall -fomit-frame-pointer -fno-strict-aliasing -fPIC +GPFLAGS=-g -i4 + +INCLUDES=-I. +LIBS=-lpari + +#### + +GP = gp +GPC = $(addsuffix .c, $(GP)) +GPO = $(addsuffix .o, $(GP)) +GPH = $(addsuffix .h, $(GP)) + +SRC = cli input +OBJ = $(addsuffix .o, $(SRC)) +HDR = $(addsuffix .h, $(SRC)) + +#### + +all: ecgen + +ecgen: ecgen.o $(GPO) $(OBJ) + $(CC) $(CFLAGS) $(INCLUDES) -o $@ $^ $(LDFLAGS) $(LIBS) + +gp2c: $(GPC) $(GPH) + +$(GPO): $(GPC) $(GPH) + $(CC) $(GP_CFLAGS) $(INCLUDES) -c -o $@ $< $(LDFLAGS) $(LIBS) + +%.o: %.c $(GPH) + $(CC) $(CFLAGS) $(INCLUDES) -c -o $@ $< $(LDFLAGS) $(LIBS) + +%.h %.c: %.gp + $(GP2C) $(GPFLAGS) gp/$*.gp 2>/dev/null | clang-format | awk 'BEGIN{print "#ifndef GP_H" > "gp.h"; print "#define GP_H" >> "gp.h";} { if(found) print >> "gp.c"; else print >> "gp.h"} /End of prototype/{found=1; print "#include \"gp.h\"" > "gp.c"; print "#endif //GP_H" >> "gp.h"}' + +#### + +.PHONY: all gp2c clean-all clean clean-gp help + +clean-all: clean clean-gp + +clean: + rm -f ecgen + rm -f *.o + +clean-gp: + rm -f $(GPH) + rm -f $(GPC) + +help: + @echo "ecgen, tool for generating Elliptic curve domain parameters" + @echo + @echo "Available targets:" + @echo " - all : builds all" + @echo " - ecgen : builds the main binary" + @echo " - gp2c : generates the .c and .h files from gp code" + @echo " - clean : cleans up after a build" + @echo " - clean-gp : cleans up after gp2c generation" + @echo " - clean-all : cleans all" |
