@@ -11,55 +11,106 @@ endif
11
11
.PHONY : clean prebuild prelink
12
12
13
13
ifeq ($(config ) ,debug)
14
- RESCOMP = windres
15
- TARGETDIR = ../../lib
14
+ ifeq ($(origin CC), default)
15
+ CC = clang
16
+ endif
17
+ ifeq ($(origin CXX), default)
18
+ CXX = clang++
19
+ endif
20
+ ifeq ($(origin AR), default)
21
+ AR = ar
22
+ endif
23
+ TARGETDIR = ../../lib/Debug
16
24
TARGET = $(TARGETDIR ) /libwrenpp.a
17
25
OBJDIR = obj/Debug/lib
18
26
DEFINES += -DDEBUG
19
- INCLUDES += -I../../../ wren/src/include -I../../src
27
+ INCLUDES += -I../../wren-master /src/include -I../../src
20
28
FORCE_INCLUDE +=
21
29
ALL_CPPFLAGS += $(CPPFLAGS ) -MMD -MP $(DEFINES ) $(INCLUDES )
22
- ALL_CFLAGS += $(CFLAGS ) $(ALL_CPPFLAGS ) -g -std=c++14
23
- ALL_CXXFLAGS += $(CXXFLAGS ) $(ALL_CFLAGS )
30
+ ALL_CFLAGS += $(CFLAGS ) $(ALL_CPPFLAGS ) -m64 - g -std=c++14
31
+ ALL_CXXFLAGS += $(CXXFLAGS ) $(ALL_CPPFLAGS ) -m64 -g -std=c++14
24
32
ALL_RESFLAGS += $(RESFLAGS ) $(DEFINES ) $(INCLUDES )
25
33
LIBS +=
26
34
LDDEPS +=
27
- ALL_LDFLAGS += $(LDFLAGS )
35
+ ALL_LDFLAGS += $(LDFLAGS ) -m64
28
36
LINKCMD = $(AR ) -rcs "$@ " $(OBJECTS )
29
37
define PREBUILDCMDS
30
38
endef
31
39
define PRELINKCMDS
32
40
endef
33
41
define POSTBUILDCMDS
34
42
endef
35
- all : $( TARGETDIR ) $( OBJDIR ) prebuild prelink $(TARGET )
43
+ all : prebuild prelink $(TARGET )
36
44
@:
37
45
38
46
endif
39
47
40
48
ifeq ($(config ) ,release)
41
- RESCOMP = windres
42
- TARGETDIR = ../../lib
49
+ ifeq ($(origin CC), default)
50
+ CC = clang
51
+ endif
52
+ ifeq ($(origin CXX), default)
53
+ CXX = clang++
54
+ endif
55
+ ifeq ($(origin AR), default)
56
+ AR = ar
57
+ endif
58
+ TARGETDIR = ../../lib/Release
43
59
TARGET = $(TARGETDIR ) /libwrenpp.a
44
60
OBJDIR = obj/Release/lib
45
61
DEFINES += -DNDEBUG
46
- INCLUDES += -I../../../ wren/src/include -I../../src
62
+ INCLUDES += -I../../wren-master /src/include -I../../src
47
63
FORCE_INCLUDE +=
48
64
ALL_CPPFLAGS += $(CPPFLAGS ) -MMD -MP $(DEFINES ) $(INCLUDES )
49
- ALL_CFLAGS += $(CFLAGS ) $(ALL_CPPFLAGS ) -O2 -std=c++14
50
- ALL_CXXFLAGS += $(CXXFLAGS ) $(ALL_CFLAGS )
65
+ ALL_CFLAGS += $(CFLAGS ) $(ALL_CPPFLAGS ) -m64 - O2 -std=c++14
66
+ ALL_CXXFLAGS += $(CXXFLAGS ) $(ALL_CPPFLAGS ) -m64 -O2 -std=c++14
51
67
ALL_RESFLAGS += $(RESFLAGS ) $(DEFINES ) $(INCLUDES )
52
68
LIBS +=
53
69
LDDEPS +=
54
- ALL_LDFLAGS += $(LDFLAGS ) -Wl,-x
70
+ ALL_LDFLAGS += $(LDFLAGS ) -m64
55
71
LINKCMD = $(AR ) -rcs "$@ " $(OBJECTS )
56
72
define PREBUILDCMDS
57
73
endef
58
74
define PRELINKCMDS
59
75
endef
60
76
define POSTBUILDCMDS
61
77
endef
62
- all : $(TARGETDIR ) $(OBJDIR ) prebuild prelink $(TARGET )
78
+ all : prebuild prelink $(TARGET )
79
+ @:
80
+
81
+ endif
82
+
83
+ ifeq ($(config ) ,test)
84
+ ifeq ($(origin CC), default)
85
+ CC = clang
86
+ endif
87
+ ifeq ($(origin CXX), default)
88
+ CXX = clang++
89
+ endif
90
+ ifeq ($(origin AR), default)
91
+ AR = ar
92
+ endif
93
+ TARGETDIR = ../../lib/Test
94
+ TARGET = $(TARGETDIR ) /libwrenpp.a
95
+ OBJDIR = obj/Test/lib
96
+ DEFINES +=
97
+ INCLUDES += -I../../wren-master/src/include -I../../src
98
+ FORCE_INCLUDE +=
99
+ ALL_CPPFLAGS += $(CPPFLAGS ) -MMD -MP $(DEFINES ) $(INCLUDES )
100
+ ALL_CFLAGS += $(CFLAGS ) $(ALL_CPPFLAGS ) -m64 -std=c++14
101
+ ALL_CXXFLAGS += $(CXXFLAGS ) $(ALL_CPPFLAGS ) -m64 -std=c++14
102
+ ALL_RESFLAGS += $(RESFLAGS ) $(DEFINES ) $(INCLUDES )
103
+ LIBS +=
104
+ LDDEPS +=
105
+ ALL_LDFLAGS += $(LDFLAGS ) -m64
106
+ LINKCMD = $(AR ) -rcs "$@ " $(OBJECTS )
107
+ define PREBUILDCMDS
108
+ endef
109
+ define PRELINKCMDS
110
+ endef
111
+ define POSTBUILDCMDS
112
+ endef
113
+ all : prebuild prelink $(TARGET )
63
114
@:
64
115
65
116
endif
@@ -81,24 +132,13 @@ endif
81
132
82
133
$(TARGET ) : $(GCH ) ${CUSTOMFILES} $(OBJECTS ) $(LDDEPS ) $(RESOURCES )
83
134
@echo Linking lib
84
- $(SILENT ) $(LINKCMD )
85
- $(POSTBUILDCMDS )
86
-
87
- $(TARGETDIR ) :
88
- @echo Creating $(TARGETDIR )
89
135
ifeq (posix,$(SHELLTYPE ) )
90
136
$(SILENT) mkdir -p $(TARGETDIR)
91
137
else
92
138
$(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
93
139
endif
94
-
95
- $(OBJDIR ) :
96
- @echo Creating $(OBJDIR )
97
- ifeq (posix,$(SHELLTYPE ) )
98
- $(SILENT) mkdir -p $(OBJDIR)
99
- else
100
- $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
101
- endif
140
+ $(SILENT) $(LINKCMD)
141
+ $(POSTBUILDCMDS)
102
142
103
143
clean :
104
144
@echo Cleaning lib
@@ -120,11 +160,21 @@ ifneq (,$(PCH))
120
160
$(OBJECTS ) : $(GCH ) $(PCH )
121
161
$(GCH ) : $(PCH )
122
162
@echo $(notdir $< )
163
+ ifeq (posix,$(SHELLTYPE ) )
164
+ $(SILENT) mkdir -p $(OBJDIR)
165
+ else
166
+ $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
167
+ endif
123
168
$(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
124
169
endif
125
170
126
171
$(OBJDIR ) /Wren++.o : ../../Wren++.cpp
127
172
@echo $(notdir $< )
173
+ ifeq (posix,$(SHELLTYPE ) )
174
+ $(SILENT) mkdir -p $(OBJDIR)
175
+ else
176
+ $(SILENT) mkdir $(subst /,\\,$(OBJDIR))
177
+ endif
128
178
$(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
129
179
130
180
-include $(OBJECTS :% .o=% .d)
0 commit comments