File: Makefile.llvm

package info (click to toggle)
freecell-solver 3.26.0-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 4,864 kB
  • ctags: 3,658
  • sloc: ansic: 34,721; perl: 12,320; xml: 5,999; python: 1,149; sh: 965; ruby: 347; cpp: 304; makefile: 151
file content (111 lines) | stat: -rw-r--r-- 2,102 bytes parent folder | download | duplicates (3)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
CC = llvm-gcc

DEBUG = 0
PROFILE = 0
WITH_TRACES = 0
FREECELL_ONLY = 0
WITH_LIBRB = 0

ifneq ($(DEBUG),0)
	CFLAGS := -Wall -g
else
	CFLAGS := -Wall -O5
endif

ifneq ($(WITH_TRACES),0)
	CFLAGS += -DDEBUG
endif

ifneq ($(FREECELL_ONLY),0)
	CFLAGS += -DFCS_FREECELL_ONLY=1
endif


LFLAGS := -Wall
END_LFLAGS :=

CFLAGS += -emit-llvm
LFLAGS += -emit-llvm

# Toggle for profiling information.
ifneq ($(PROFILE),0)
	END_OFLAGS := -pg
	END_LFLAGS := -pg -lc_p -lm_p -static-libgcc
endif

ifneq ($(WITH_LIBRB),0)
	END_LFLAGS += -lredblack
endif

DFLAGS = $(CFLAGS) -DDEBUG
END_DLFLAGS = $(END_LFLAGS)

DLFLAGS = $(LFLAGS)

TARGETS = fc-solve.bc mptest.bc

ifeq ($(EXIT),1)

error:
	@echo "Error! WHICH_STATE_ALLOCATION must be defined to a legal value"
	@echo $(LFLAGS)

else

all: $(TARGETS)

board_gen: dummy
	make -C board_gen/

dummy:



#<<<OBJECTS.START
OBJECTS =                     \
          alloc.bc             \
          app_str.bc           \
          caas.bc              \
          card.bc              \
          cl_chop.bc           \
          cmd_line.bc          \
          fcs_dm.bc            \
          fcs_hash.bc          \
          fcs_isa.bc           \
          freecell.bc          \
          intrface.bc          \
          lib.bc               \
          lookup2.bc           \
          move.bc              \
          pqueue.bc            \
          preset.bc            \
          rand.bc              \
          scans.bc             \
          simpsim.bc           \
          state.bc             \

#>>>OBJECTS.END

# MYOBJ.o ==> .deps/MYOBJ.P
DEP_FILES = $(addprefix .deps/,$(addsuffix .pp,$(basename $(OBJECTS))))

-include $(DEP_FILES)

$(OBJECTS) main.bc test_multi_parallel.bc: %.bc: %.c
	$(CC) -Wp,-MD,.deps/$(*F).pp -c $(CFLAGS) -o $@ $< $(END_OFLAGS)

libfcs.a: $(OBJECTS)
	llvm-ar r $@ $(OBJECTS)
	llvm-ranlib $@

fc-solve.bc: main.bc libfcs.a
	llvm-ld -r -o $@ main.bc $(OBJECTS)

mptest.bc: test_multi_parallel.bc libfcs.a
	llvm-ld -r -o $@ test_multi_parallel.bc $(OBJECTS)

clean:
	rm -f *.bc $(TARGETS) libfcs.a test-lib mtest mptest

endif