diff options
| author | J08nY | 2017-02-05 03:59:52 +0100 |
|---|---|---|
| committer | J08nY | 2017-02-05 03:59:52 +0100 |
| commit | 763fc80153c5e9287f1b0f0609b11fb4f50c90ab (patch) | |
| tree | 5cd6e7acc4512cca65bcc16a74f3b63879b2d3bc /src/Makefile | |
| parent | 3d9bf583ccc5eea61c5f78f52d1e2073daee924c (diff) | |
| download | ecgen-763fc80153c5e9287f1b0f0609b11fb4f50c90ab.tar.gz ecgen-763fc80153c5e9287f1b0f0609b11fb4f50c90ab.tar.zst ecgen-763fc80153c5e9287f1b0f0609b11fb4f50c90ab.zip | |
ecgen v0.2: major rewrite0.2.0
Diffstat (limited to 'src/Makefile')
| -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" |
