aboutsummaryrefslogtreecommitdiff
path: root/math/mprime
diff options
context:
space:
mode:
authorSteve Wills <swills@FreeBSD.org>2019-05-12 02:00:14 +0000
committerSteve Wills <swills@FreeBSD.org>2019-05-12 02:00:14 +0000
commitdf4b2c024a565c5c7960ed62e0ee9ff5a345e1ca (patch)
treef6828109a0b837cb6d29d28056a81c84b8aab5f0 /math/mprime
parente5b523790c2ab895b3dee84500156fd2953c41aa (diff)
downloadports-df4b2c024a565c5c7960ed62e0ee9ff5a345e1ca.tar.gz
ports-df4b2c024a565c5c7960ed62e0ee9ff5a345e1ca.zip
math/mprime: update to 29.8b3
PR: 237844 Submitted by: rozhuk.im@gmail.com (maintainer)
Notes
Notes: svn path=/head/; revision=501357
Diffstat (limited to 'math/mprime')
-rw-r--r--math/mprime/Makefile3
-rw-r--r--math/mprime/distinfo6
-rw-r--r--math/mprime/files/patch-commonc.c35
-rw-r--r--math/mprime/files/patch-ecm.c11
-rw-r--r--math/mprime/files/patch-gwnum_gwnum.c126
-rw-r--r--math/mprime/files/patch-gwnum_gwutil.c11
-rw-r--r--math/mprime/files/patch-gwnum_makebsd6421
-rw-r--r--math/mprime/files/patch-gwnum_makemsys21
-rw-r--r--math/mprime/files/patch-gwtest.c80
-rw-r--r--math/mprime/files/patch-linux64_makebsd29
-rw-r--r--math/mprime/files/patch-linux_makebsd23
11 files changed, 22 insertions, 344 deletions
diff --git a/math/mprime/Makefile b/math/mprime/Makefile
index df23e0fae32e..31fdc5197d5e 100644
--- a/math/mprime/Makefile
+++ b/math/mprime/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= mprime
-PORTVERSION= 29.4b7
-PORTREVISION= 1
+PORTVERSION= 29.8b3
CATEGORIES= math benchmarks net
MASTER_SITES= http://www.mersenne.org/ftp_root/gimps/ \
ftp://mersenne.org/gimps/
diff --git a/math/mprime/distinfo b/math/mprime/distinfo
index a9e6cf8ee20a..97b9e2206069 100644
--- a/math/mprime/distinfo
+++ b/math/mprime/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1542398806
-SHA256 (p95v294b7.source.zip) = 15682e9587af2b86647de9786f97dc8c5d7a4a679a0440f7d1d1936a48c5aa45
-SIZE (p95v294b7.source.zip) = 47931498
+TIMESTAMP = 1557620197
+SHA256 (p95v298b3.source.zip) = dac67702e45689e058519164222b6a1f0b32d9e7c88049f7c59f9699174105f0
+SIZE (p95v298b3.source.zip) = 51553788
diff --git a/math/mprime/files/patch-commonc.c b/math/mprime/files/patch-commonc.c
index 483ae5d3b834..430f6b3f8c8c 100644
--- a/math/mprime/files/patch-commonc.c
+++ b/math/mprime/files/patch-commonc.c
@@ -1,18 +1,19 @@
---- commonc.c.orig 2016-09-14 03:33:00 UTC
-+++ commonc.c
-@@ -3247,13 +3247,13 @@ void tempFileName (
- /* From now on, we will use k and c to generate the filename. To reduce */
- /* upgrading problems, old save file names are renamed. */
+--- commonc.c.orig 2019-04-11 17:46:50.000000000 +0300
++++ commonc.c 2019-05-12 03:52:33.503858000 +0300
+@@ -386,6 +386,8 @@
+ CPU_L2_CACHE_INCLUSIVE = -1;
+ CPU_L3_CACHE_INCLUSIVE = -1;
+ CPU_L4_CACHE_INCLUSIVE = -1;
++
++#if HWLOC_API_VERSION >= 0x00020000
+ for (depth = 0; depth < hwloc_topology_get_depth (hwloc_topology); depth++) {
+ for (i = 0; i < (int) hwloc_get_nbobjs_by_depth (hwloc_topology, depth); i++) {
+ hwloc_obj_t obj;
+@@ -423,6 +425,7 @@
+ }
+ }
+ }
++#endif
-- if (w->k != 1.0 || abs(w->c) != 1) {
-+ if (w->k != 1.0 || labs(w->c) != 1) {
- char v258_filename[32];
- strcpy (v258_filename, buf);
- buf[1] = 0;
- if (w->k != 1.0) sprintf (buf+strlen(buf), "%g", fmod (w->k, 1000000.0));
- sprintf (buf+strlen(buf), "_%ld", p);
-- if (abs(w->c) != 1) sprintf (buf+strlen(buf), "_%d", abs(w->c) % 1000);
-+ if (labs(w->c) != 1) sprintf (buf+strlen(buf), "_%ld", labs(w->c) % 1000);
- rename (v258_filename, buf);
- if (buf[0] == 'p') {
- v258_filename[0] = buf[0] = 'q';
+ /* Overwrite the cache info calculated via CPUID as hwloc's info is more detailed and I believe more reliable. */
+ /* We are transitioning away from using the cache size global variables computed by the CPUID code. */
diff --git a/math/mprime/files/patch-ecm.c b/math/mprime/files/patch-ecm.c
deleted file mode 100644
index ce2283f0dd19..000000000000
--- a/math/mprime/files/patch-ecm.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- ecm.c.orig 2016-05-02 04:44:52 UTC
-+++ ecm.c
-@@ -1068,7 +1068,7 @@ int setN (
- }
-
- if (IniGetInt (INI_FILE, "PhiExtensions", 0) &&
-- w->k == 1.0 && abs(w->c) == 1 && (w->n%3) == 0) { /*=== this input means Phi(3,-b^(n/3)) ===*/
-+ w->k == 1.0 && labs(w->c) == 1 && (w->n%3) == 0) { /*=== this input means Phi(3,-b^(n/3)) ===*/
- giant tmp = allocgiant ((bits >> 5) + 5);
- if (tmp == NULL) return (OutOfMemory (thread_num));
- ultog (w->b, tmp);
diff --git a/math/mprime/files/patch-gwnum_gwnum.c b/math/mprime/files/patch-gwnum_gwnum.c
deleted file mode 100644
index 3a986020d8b1..000000000000
--- a/math/mprime/files/patch-gwnum_gwnum.c
+++ /dev/null
@@ -1,126 +0,0 @@
---- gwnum/gwnum.c.orig 2016-10-30 14:22:26 UTC
-+++ gwnum/gwnum.c
-@@ -865,17 +865,17 @@
- log2k = log2 (k);
- logbk = logb (k);
- log2b = log2 (b);
-- log2c = log2 (abs (c));
-+ log2c = log2 (labs (c));
- log2maxmulbyconst = log2 (gwdata->maxmulbyconst);
-
- /* First, see what FFT length we would get if we emulate the k*b^n+c modulo */
--/* with a zero padded FFT. If k is 1 and abs (c) is 1 then we can skip this */
-+/* with a zero padded FFT. If k is 1 and labs (c) is 1 then we can skip this */
- /* loop as we're sure to find an IBDWT that will do the job. Also skip if called from */
- /* gwmap_fftlen_to_max_exponent (n = 0) or we are QAing IBDWT FFTs (qa_pick_nth_fft >= 1000) */
-
- again: zpad_jmptab = NULL;
- generic_jmptab = NULL;
-- if (! gwdata->force_general_mod && (k > 1.0 || (n > 0 && n < 500) || abs (c) > 1) && gwdata->qa_pick_nth_fft < 1000) {
-+ if (! gwdata->force_general_mod && (k > 1.0 || (n > 0 && n < 500) || labs (c) > 1) && gwdata->qa_pick_nth_fft < 1000) {
-
- /* Use the proper 2^N-1 jmptable */
-
-@@ -1915,13 +1915,13 @@
-
- if (c == 0)
- gcd = 0;
-- else if (k == 1.0 || abs (c) == 1)
-+ else if (k == 1.0 || labs (c) == 1)
- gcd = 1;
- else {
- stackgiant(kg,2);
- stackgiant(cg,2);
- dbltog (k, kg);
-- itog (abs (c), cg);
-+ itog (labs (c), cg);
- gcdg (kg, cg);
- gcd = cg->n[0];
- }
-@@ -1935,7 +1935,7 @@
-
- if (gcd == 1 &&
- k * gwdata->maxmulbyconst <= MAX_ZEROPAD_K &&
-- abs (c) * gwdata->maxmulbyconst <= MAX_ZEROPAD_C &&
-+ labs (c) * gwdata->maxmulbyconst <= MAX_ZEROPAD_C &&
- log2(b) * (double) n >= 350.0 &&
- (b == 2 || (gwdata->cpu_flags & (CPU_AVX | CPU_SSE2))) &&
- !gwdata->force_general_mod) {
-@@ -2555,12 +2555,12 @@
- gwdata->NUM_B_PER_SMALL_WORD = (unsigned long) gwdata->avg_num_b_per_word;
-
- /* Set a flag if this is a rational FFT. That is, an FFT where all the */
--/* weighting factors are 1.0. This happens when abs(c) is 1 and every */
-+/* weighting factors are 1.0. This happens when labs(c) is 1 and every */
- /* FFT word has the same number of b's. The assembly code can make some */
- /* obvious optimizations when all the FFT weights are one. */
-
- gwdata->RATIONAL_FFT = asm_data->RATIONAL_FFT =
-- ((double) gwdata->NUM_B_PER_SMALL_WORD == gwdata->avg_num_b_per_word) && (abs (c) == 1);
-+ ((double) gwdata->NUM_B_PER_SMALL_WORD == gwdata->avg_num_b_per_word) && (labs (c) == 1);
-
- /* Remember the maximum number of bits per word that this FFT length */
- /* supports. We this in gwnear_fft_limit. Note that zero padded FFTs */
-@@ -3814,7 +3814,7 @@
- if (gwdata->ZERO_PADDED_FFT ||
- 3.0 * gwdata->NUM_B_PER_SMALL_WORD * log2 (b) >
- 2.0 * ((gwdata->NUM_B_PER_SMALL_WORD + 1) * log2 (b) - 1) +
-- 0.6 * log2 (gwdata->FFTLEN) + log2 (k) + 1.7 * log2 (abs (c)))
-+ 0.6 * log2 (gwdata->FFTLEN) + log2 (k) + 1.7 * log2 (labs (c)))
- asm_data->SPREAD_CARRY_OVER_EXTRA_WORDS = FALSE;
- else
- asm_data->SPREAD_CARRY_OVER_EXTRA_WORDS = TRUE;
-@@ -6409,7 +6409,7 @@
- sprintf (buf, "%.0f", k + c);
- else if (k != 1.0)
- sprintf (buf, "%.0f*%lu^%lu%c%lu", k, b, n,
-- c < 0 ? '-' : '+', (unsigned long) abs (c));
-+ c < 0 ? '-' : '+', (unsigned long) labs (c));
- else if (b == 2 && c == -1)
- sprintf (buf, "M%lu", n);
- else {
-@@ -6419,7 +6419,7 @@
- sprintf (buf, "F%lu", cnt);
- else
- sprintf (buf, "%lu^%lu%c%lu", b, n,
-- c < 0 ? '-' : '+', (unsigned long) abs (c));
-+ c < 0 ? '-' : '+', (unsigned long) labs (c));
- }
- }
-
-@@ -6504,7 +6504,7 @@
- weighted_bits_per_output_word =
- 2.0 * ((b_per_input_word + 1.0) * log2b - 1.0) +
- 0.6 * log2 (gwdata->FFTLEN) +
-- log2 (gwdata->k) + 1.7 * log2 (abs (gwdata->c));
-+ log2 (gwdata->k) + 1.7 * log2 (labs (gwdata->c));
- if (gwdata->k == 1.0 && gwdata->n % gwdata->FFTLEN == 0)
- weighted_bits_per_output_word -= ((log2b <= 4.0) ? log2b : 1.4 * log2b);
- else if (num_big_words == 1 && gwdata->k > 1.0)
-@@ -6911,7 +6911,7 @@
- {
- unsigned long word, b_in_word;
-
-- ASSERTG (gwdata->k == 1.0 || abs (gwdata->c) == 1);
-+ ASSERTG (gwdata->k == 1.0 || labs (gwdata->c) == 1);
-
- /* In a zero-padded FFT, the value is added into ZPAD0 */
-
-@@ -7177,7 +7177,7 @@
- /* Small numbers can also be optimized for many moduli by zeroing all the */
- /* FFT data using memset and then setting only the affected FFT elements. */
-
-- else if (a->sign == 1 && (gwdata->k == 1.0 || abs (gwdata->c) == 1)) {
-+ else if (a->sign == 1 && (gwdata->k == 1.0 || labs (gwdata->c) == 1)) {
- uint32_t low_addin;
- int i;
-
-@@ -7802,7 +7802,7 @@
- /* Handle negative input values */
-
- neg ^= (g->sign < 0);
-- g->sign = abs (g->sign);
-+ g->sign = labs (g->sign);
-
- /* If number is bigger than the modulus, do a mod using shifts and adds */
- /* This will get us close to the right answer. */
diff --git a/math/mprime/files/patch-gwnum_gwutil.c b/math/mprime/files/patch-gwnum_gwutil.c
deleted file mode 100644
index 85a1be177cf1..000000000000
--- a/math/mprime/files/patch-gwnum_gwutil.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- gwnum/gwutil.c.orig 2016-09-07 01:25:20 UTC
-+++ gwnum/gwutil.c
-@@ -17,7 +17,7 @@
- #include <malloc.h>
- #include <memory.h>
- #endif
--#ifdef __APPLE__
-+#if defined (__APPLE__) || defined (__FreeBSD__)
- #include <memory.h>
- #endif
- #include "gwcommon.h"
diff --git a/math/mprime/files/patch-gwnum_makebsd64 b/math/mprime/files/patch-gwnum_makebsd64
deleted file mode 100644
index 2935464a0ee3..000000000000
--- a/math/mprime/files/patch-gwnum_makebsd64
+++ /dev/null
@@ -1,21 +0,0 @@
---- gwnum/makebsd64.orig 2017-04-25 17:00:32.000000000 +0300
-+++ gwnum/makebsd64 2019-02-16 02:43:48.159335000 +0300
-@@ -1,13 +1,13 @@
- # Makefile for FreeBSD 10.0 64-bit gwnum library
- #
-
--CC = cc
--CFLAGS = -I.. -I../sqlite-amalgamation-3180000 -DX86_64 -O2
-+#CC = cc
-+CFLAGS += -I.. -I../sqlite-amalgamation-3180000 -DX86_64
-
--CPP = cc
--CPPFLAGS = -I.. -I../qd -DX86_64 -O2
-+CPP = ${CXX}
-+CPPFLAGS = ${CXXFLAGS} -I.. -I../qd -DX86_64
-
--AR = ar
-+#AR = ar
-
- LINUXOBJS = cpuid.o gwnum.o gwtables.o gwthread.o gwini.o gwbench.o gwutil.o gwdbldbl.o giants.o ecmstag1.o
-
diff --git a/math/mprime/files/patch-gwnum_makemsys b/math/mprime/files/patch-gwnum_makemsys
deleted file mode 100644
index f209619c8a56..000000000000
--- a/math/mprime/files/patch-gwnum_makemsys
+++ /dev/null
@@ -1,21 +0,0 @@
---- gwnum/makemsys.orig 2016-10-30 18:42:08 UTC
-+++ gwnum/makemsys
-@@ -1,13 +1,13 @@
- # Makefile for Mingw/msys gwnum library
- #
-
--CC = gcc
--CFLAGS = -I.. -I../sqlite-amalgamation-3180000 -O2 -march=i486 -malign-double
-+#CC = cc
-+CFLAGS += -I.. -I../sqlite-amalgamation-3180000 -march=i486
-
--CPP = g++
--CPPFLAGS = -I.. -I../qd -O2 -march=i486 -malign-double
-+CPP = ${CXX}
-+CPPFLAGS = ${CXXFLAGS} -I.. -I../qd -march=i486
-
--AR = ar
-+#AR = ar
-
- LINUXOBJS = cpuid.o gwnum.o gwtables.o gwthread.o gwini.o gwbench.o gwutil.o gwdbldbl.o giants.o ecmstag1.o
-
diff --git a/math/mprime/files/patch-gwtest.c b/math/mprime/files/patch-gwtest.c
deleted file mode 100644
index f7300dd51e12..000000000000
--- a/math/mprime/files/patch-gwtest.c
+++ /dev/null
@@ -1,80 +0,0 @@
---- gwtest.c.orig 2015-12-14 04:55:34 UTC
-+++ gwtest.c
-@@ -306,7 +306,7 @@ void test_it_all (
- gwstartnextfft (&gwdata, (i & 3) == 2);
-
- /* Test gwsetaddin without and with POSTFFT set */
-- if ((i == 45 || i == 46) && abs (c) == 1)
-+ if ((i == 45 || i == 46) && labs (c) == 1)
- gwsetaddin (&gwdata, -31);
-
- /* Test several different ways to square a number */
-@@ -326,7 +326,7 @@ void test_it_all (
- /* Remember maximum difference */
- diff = fabs (gwsuminp (&gwdata, x) - gwsumout (&gwdata, x));
- if (diff > maxdiff) maxdiff = diff;
-- if ((i == 45 || i == 46) && abs (c) == 1)
-+ if ((i == 45 || i == 46) && labs (c) == 1)
- gwsetaddin (&gwdata, 0);
- }
- if (gwdata.MAXDIFF < 1e50)
-@@ -347,7 +347,7 @@ void test_it_all (
- /* Test square and mul carefully */
-
- gwfree (&gwdata, x3); gwfree (&gwdata, x4);
-- if (abs (c) == 1) gwsetaddin (&gwdata, -42);
-+ if (labs (c) == 1) gwsetaddin (&gwdata, -42);
- gwsquare_carefully (&gwdata, x);
- diff = fabs (gwsuminp (&gwdata, x) - gwsumout (&gwdata, x));
- if (diff > maxdiff) maxdiff = diff;
-@@ -355,7 +355,7 @@ void test_it_all (
- gwfree (&gwdata, gwdata.GW_RANDOM); gwdata.GW_RANDOM = NULL;
- diff = fabs (gwsuminp (&gwdata, x) - gwsumout (&gwdata, x));
- if (diff > maxdiff) maxdiff = diff;
-- if (abs (c) == 1) gwsetaddin (&gwdata, 0);
-+ if (labs (c) == 1) gwsetaddin (&gwdata, 0);
-
- /* Test gwaddquick, gwsubquick */
-
-@@ -499,7 +499,7 @@ void test_it (
- gwstartnextfft (gwdata, (i & 3) == 2);
-
- /* Test gwsetaddin without and with POSTFFT set */
-- if ((i == 45 || i == 46) && abs (gwdata->c) == 1)
-+ if ((i == 45 || i == 46) && labs (gwdata->c) == 1)
- gwsetaddin (gwdata, -31);
-
- /* Test several different ways to square a number */
-@@ -522,7 +522,7 @@ void test_it (
-
- /* Square number (and do add-in) using giants code */
- squaregi (&gwdata->gdata, g);
-- if ((i == 45 || i == 46) && abs (gwdata->c) == 1) {
-+ if ((i == 45 || i == 46) && labs (gwdata->c) == 1) {
- iaddg (-31, g);
- gwsetaddin (gwdata, 0);
- }
-@@ -600,12 +600,12 @@ void test_it (
- /* Test square and mul carefully */
-
- gwfree (gwdata, x3); gwfree (gwdata, x4);
-- if (abs (gwdata->c) == 1) gwsetaddin (gwdata, -42);
-+ if (labs (gwdata->c) == 1) gwsetaddin (gwdata, -42);
- gwsquare_carefully (gwdata, x);
- diff = fabs (gwsuminp (gwdata, x) - gwsumout (gwdata, x));
- if (diff > maxdiff) maxdiff = diff;
- squaregi (&gwdata->gdata, g);
-- if (abs (gwdata->c) == 1) iaddg (-42, g);
-+ if (labs (gwdata->c) == 1) iaddg (-42, g);
- specialmodg (gwdata, g);
- if (CHECK_OFTEN) compare (thread_num, gwdata, x, g);
- gwmul_carefully (gwdata, x, x);
-@@ -613,7 +613,7 @@ void test_it (
- diff = fabs (gwsuminp (gwdata, x) - gwsumout (gwdata, x));
- if (diff > maxdiff) maxdiff = diff;
- squaregi (&gwdata->gdata, g);
-- if (abs (gwdata->c) == 1) { iaddg (-42, g); gwsetaddin (gwdata, 0); }
-+ if (labs (gwdata->c) == 1) { iaddg (-42, g); gwsetaddin (gwdata, 0); }
- specialmodg (gwdata, g);
- if (CHECK_OFTEN) compare (thread_num, gwdata, x, g);
-
diff --git a/math/mprime/files/patch-linux64_makebsd b/math/mprime/files/patch-linux64_makebsd
deleted file mode 100644
index 62be30377ec3..000000000000
--- a/math/mprime/files/patch-linux64_makebsd
+++ /dev/null
@@ -1,29 +0,0 @@
---- linux64/makebsd.orig 2016-10-30 18:42:16 UTC
-+++ linux64/makebsd
-@@ -1,19 +1,19 @@
- # Makefile for FreeBSD 10.0 64-bit mprime
- #
--# Install the curl package. This will be installed to /usr/local by default.
-+# Install the curl package. This will be installed to %%LOCALBASE%% by default.
- #
- # Hwloc can be downloaded from https://www.open-mpi.org/projects/hwloc/
- # Configure hwloc with --enable-static --disable-shared --disable-pci --disable-cuda --disable-gl
- #
-
--CC = cc
--CFLAGS = -I.. -I../gwnum -I/usr/local/include -DX86_64 -O2
-+#CC = cc
-+CFLAGS += -I.. -I../gwnum -I%%LOCALBASE%%/include -DX86_64
-
--CPP = cc
--CPPFLAGS = -I.. -I../gwnum -DX86_64 -O2
-+CPP = ${CXX}
-+CPPFLAGS = ${CXXFLAGS} -I.. -I../gwnum -DX86_64
-
--LFLAGS = -L/usr/local/lib -Wl,-M
--LIBS = ../gwnum/gwnum.a ../gwnum/gwnum.ld -lm -lpthread /usr/local/lib/libhwloc.a -lcurl -lstdc++ -lcompat -lgmp
-+LFLAGS += -L%%LOCALBASE%%/lib ${LDFLAGS}
-+LIBS += ../gwnum/gwnum.a ../gwnum/gwnum.ld -lm -lpthread -lhwloc -lcurl -lcompat -lgmp
-
- FACTOROBJ = factor64.o
- OBJS = prime.o menu.o
diff --git a/math/mprime/files/patch-linux_makebsd b/math/mprime/files/patch-linux_makebsd
deleted file mode 100644
index ba21cb3f4c60..000000000000
--- a/math/mprime/files/patch-linux_makebsd
+++ /dev/null
@@ -1,23 +0,0 @@
---- linux/makebsd.orig 2016-10-30 18:42:16 UTC
-+++ linux/makebsd
-@@ -4,14 +4,14 @@
- # Configure hwloc with --enable-static --disable-shared --disable-pci --disable-cuda --disable-gl
- #
-
--CC = gcc
--CFLAGS = -I.. -I../gwnum -I/usr/local/include -O2 -march=i486 -malign-double
-+#CC = cc
-+CFLAGS = -I.. -I../gwnum -I%%LOCALBASE%%/include -O2 -march=i486
-
--CPP = g++
--CPPFLAGS = -I.. -I../gwnum -I/usr/local/include -O2 -march=i486 -malign-double
-+CPP = ${CXX}
-+CPPFLAGS = ${CXXFLAGS} -I.. -I../gwnum -I%%LOCALBASE%%/include -O2 -march=i486
-
--LFLAGS = -Wl,-M -L/usr/local/lib
--LIBS = ../gwnum/gwnum.a ../gwnum/gwnum.ld -lm -lpthread -Wl,-Bstatic /usr/local/lib/libhwloc.a -Wl,-Bstatic /usr/local/lib/libcurl.a -lz -lcompat -lstdc++ -Wl,-Bdynamic -lssl -lgmp
-+LFLAGS = -L%%LOCALBASE%%/lib ${LDFLAGS}
-+LIBS = ../gwnum/gwnum.a ../gwnum/gwnum.ld -lm -lpthread -lcurl -lhwloc -lz -lcompat -lssl -lgmp
-
- FACTOROBJ = factor32.o
- OBJS = prime.o menu.o