-
Notifications
You must be signed in to change notification settings - Fork 0
/
GNUmakefile
91 lines (63 loc) · 1.26 KB
/
GNUmakefile
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
# -*- Makefile -*-
#
# step #1 - system specific compilers, setttings etc
#
OSTYPE := $(shell uname -s)
#
#
#
ifeq ($(CONFIG),) # not defined
include build/GNUmakefile.config # default is debug
endif
#
# external libraries
#
LOCAL_INCLUDE =
#
# utilities
#
ECHO := /bin/echo
#
# defines
#
DEFS :=
#
# compiler flags, depnLdncy generation and implicit build rules
#
-include build/GNUmakefile.compiler
-include build/GNUmakefile.ABI
-include build/GNUmakefile.depends
-include build/GNUmakefile.rules
#
# sources, objects and targets
#
# object files - done by string substitution
#
SRCS_LCG := main.cpp LCG_PLE63.cpp
OBJS_LCG := $(addsuffix .o, $(basename $(SRCS_LCG)))
DEPS_LCG := $(addsuffix .d, $(basename $(SRCS_LCG)))
OBJS := $(OBJS_LCG)
DEPS := $(DEPS_LCG)
# all targets
LCG := lcg
.PHONY: all tags dox clean realclean
all: $(LCG)
$(LCG): $(OBJS_LCG)
$(LD) $(LDFLAGS) -o $@ $(wordlist 1,10000000,$^) -L/usr/local/lib $(SYSLIB)
#dependencies
-include $(DEPS)
tags:
@(find . -name "*.h" -print | etags -)
@(find . -name "*.cpp" -print | etags -a -)
@(find . -name "*.cc" -print | etags -a -)
@/bin/echo "TAGS updated"
dox:
doxygen
clean:
-rm -rf $(LCG)
-rm -rf $(OBJS)
realclean:
-rm -rf $(LCG)
-rm -rf $(OBJS)
-rm -rf $(DEPS)
-rm -rf TAGS