aboutsummaryrefslogtreecommitdiff
path: root/source/Makefile
blob: cefad43c478bd9580eec81b3df41f6a77c8bc42f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Makefile for Random Number Generator C implementations

CC = cc
CFLAGS = -O2 -Wall -Wextra -std=c99
LDFLAGS = -lm

TARGETS = photon_spin_random xorshift_random splitmix64 wy_random pcg_random xoroshiro_random

.PHONY: all clean test

all: $(TARGETS)

photon_spin_random: photon_spin_random.c photon_spin_random.h
	$(CC) $(CFLAGS) -DPHOTON_SPIN_TEST_MAIN -o $@ photon_spin_random.c $(LDFLAGS)

xorshift_random: xorshift_random.c xorshift_random.h
	$(CC) $(CFLAGS) -DXORSHIFT_TEST_MAIN -o $@ xorshift_random.c $(LDFLAGS)

splitmix64: splitmix64.c splitmix64.h
	$(CC) $(CFLAGS) -DSPLITMIX64_TEST_MAIN -o $@ splitmix64.c $(LDFLAGS)

wy_random: wy_random.c wy_random.h
	$(CC) $(CFLAGS) -DWY_TEST_MAIN -o $@ wy_random.c $(LDFLAGS)

pcg_random: pcg_random.c pcg_random.h
	$(CC) $(CFLAGS) -DPCG_TEST_MAIN -o $@ pcg_random.c $(LDFLAGS)

xoroshiro_random: xoroshiro_random.c xoroshiro_random.h
	$(CC) $(CFLAGS) -DXOROSHIRO_TEST_MAIN -o $@ xoroshiro_random.c $(LDFLAGS)

test: $(TARGETS)
	@echo "=== Testing PhotonSpinRandom ==="
	./photon_spin_random
	@echo "\n=== Testing XorShiftRandom ==="
	./xorshift_random
	@echo "\n=== Testing SplitMix64 ==="
	./splitmix64
	@echo "\n=== Testing WyRandom ==="
	./wy_random
	@echo "\n=== Testing PCG Random ==="
	./pcg_random
	@echo "\n=== Testing XoroShiro Random ==="
	./xoroshiro_random

clean:
	rm -f $(TARGETS)