Skip to content

Commit cf38e94

Browse files
committed
Simplify arguments to precompute and use make pattern
1 parent 598a4be commit cf38e94

File tree

2 files changed

+14
-31
lines changed

2 files changed

+14
-31
lines changed

Makefile.am

+2-14
Original file line numberDiff line numberDiff line change
@@ -152,21 +152,9 @@ precompute_LDADD = $(SECP_LIBS) $(COMMON_LIB)
152152
# build by a normal user) depends on mtimes, and thus is very fragile.
153153
# This means that rebuilds of the prebuilt files always need to be
154154
# forced by deleting them, e.g., by invoking `make clean-precomp`.
155-
src/precomputed_ecmult.h:
155+
src/precomputed_%:
156156
$(MAKE) $(AM_MAKEFLAGS) precompute$(EXEEXT)
157-
./precompute$(EXEEXT) ecmult_h
158-
159-
src/precomputed_ecmult.c:
160-
$(MAKE) $(AM_MAKEFLAGS) precompute$(EXEEXT)
161-
./precompute$(EXEEXT) ecmult_c
162-
163-
src/precomputed_ecmult_gen.h:
164-
$(MAKE) $(AM_MAKEFLAGS) precompute$(EXEEXT)
165-
./precompute$(EXEEXT) ecmult_gen_h
166-
167-
src/precomputed_ecmult_gen.c:
168-
$(MAKE) $(AM_MAKEFLAGS) precompute$(EXEEXT)
169-
./precompute$(EXEEXT) ecmult_gen_c
157+
./precompute$(EXEEXT) $@
170158

171159
PRECOMP = src/precomputed_ecmult_gen.h src/precomputed_ecmult_gen.c src/precomputed_ecmult.h src/precomputed_ecmult.c
172160
noinst_HEADERS += $(PRECOMP)

src/precompute.c

+12-17
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,7 @@ static void precompute_ecmult_print_two_tables(FILE *fp, int window_g, const sec
6161
free(table_128);
6262
}
6363

64-
static int precompute_ecmult(int h_file) {
65-
static const char outfile_c[] = "src/precomputed_ecmult.c";
66-
static const char outfile_h[] = "src/precomputed_ecmult.h";
67-
const char* outfile = h_file ? outfile_h : outfile_c;
64+
static int precompute_ecmult(const char* outfile, int h_file) {
6865
const secp256k1_ge g = SECP256K1_G;
6966
const int window_g_13 = 4;
7067
const int window_g_199 = 8;
@@ -134,10 +131,7 @@ static int precompute_ecmult(int h_file) {
134131
return 0;
135132
}
136133

137-
static int precompute_ecmult_gen(int h_file) {
138-
static const char outfile_c[] = "src/precomputed_ecmult_gen.c";
139-
static const char outfile_h[] = "src/precomputed_ecmult_gen.h";
140-
const char* outfile = h_file ? outfile_h : outfile_c;
134+
static int precompute_ecmult_gen(const char* outfile, int h_file) {
141135
FILE *fp;
142136
int bits;
143137

@@ -225,16 +219,17 @@ static int precompute_ecmult_gen(int h_file) {
225219
}
226220

227221
int main(int argc, char** argv) {
228-
if (argc == 2 && !strcmp(argv[1], "ecmult_c")) {
229-
return precompute_ecmult(0);
230-
} else if (argc == 2 && !strcmp(argv[1], "ecmult_h")) {
231-
return precompute_ecmult(1);
232-
} else if (argc == 2 && !strcmp(argv[1], "ecmult_gen_c")) {
233-
return precompute_ecmult_gen(0);
234-
} else if (argc == 2 && !strcmp(argv[1], "ecmult_gen_h")) {
235-
return precompute_ecmult_gen(1);
222+
if (argc == 2 && strlen(argv[1]) >= 8 && !strcmp(argv[1] + strlen(argv[1]) - 8, "ecmult.c")) {
223+
return precompute_ecmult(argv[1], 0);
224+
} else if (argc == 2 && strlen(argv[1]) >= 8 && !strcmp(argv[1] + strlen(argv[1]) - 8, "ecmult.h")) {
225+
return precompute_ecmult(argv[1], 1);
226+
} else if (argc == 2 && strlen(argv[1]) >= 12 && !strcmp(argv[1] + strlen(argv[1]) - 12, "ecmult_gen.c")) {
227+
return precompute_ecmult_gen(argv[1], 0);
228+
} else if (argc == 2 && strlen(argv[1]) >= 12 && !strcmp(argv[1] + strlen(argv[1]) - 12, "ecmult_gen.h")) {
229+
return precompute_ecmult_gen(argv[1], 1);
236230
} else {
237-
fprintf(stderr, "Usage: ./precompute [ecmult_c|ecmult_h|ecmult_gen_c|ecmult_gen_h]\n");
231+
fprintf(stderr, "Usage: ./precompute FILE\n");
232+
fprintf(stderr, "Where FILE ends in ecmult.c, ecmult.h, ecmult_gen.c, or ecmult_gen.h\n");
238233
return 1;
239234
}
240235
}

0 commit comments

Comments
 (0)