Skip to content

Commit 2d943d6

Browse files
committed
Update generated Makefile
1 parent b9f7a26 commit 2d943d6

File tree

5 files changed

+282
-99
lines changed

5 files changed

+282
-99
lines changed

.travis.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,4 @@ install:
3434
- export LIBRARY_PATH=$PWD/wren-master/lib
3535

3636
script:
37-
- cd build/gmake
38-
- make all CXX=$COMPILER
39-
37+
- make config=release all CXX=$COMPILER

build/gmake/Makefile renamed to Makefile

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# GNU Make workspace makefile autogenerated by Premake
22

3-
.NOTPARALLEL:
4-
53
ifndef config
64
config=debug
75
endif
@@ -18,6 +16,10 @@ ifeq ($(config),release)
1816
lib_config = release
1917
test_config = release
2018
endif
19+
ifeq ($(config),test)
20+
lib_config = test
21+
test_config = test
22+
endif
2123

2224
PROJECTS := lib test
2325

@@ -28,25 +30,26 @@ all: $(PROJECTS)
2830
lib:
2931
ifneq (,$(lib_config))
3032
@echo "==== Building lib ($(lib_config)) ===="
31-
@${MAKE} --no-print-directory -C . -f lib.make config=$(lib_config)
33+
@${MAKE} --no-print-directory -C build/gmake -f lib.make config=$(lib_config)
3234
endif
3335

3436
test: lib
3537
ifneq (,$(test_config))
3638
@echo "==== Building test ($(test_config)) ===="
37-
@${MAKE} --no-print-directory -C . -f test.make config=$(test_config)
39+
@${MAKE} --no-print-directory -C build/gmake -f test.make config=$(test_config)
3840
endif
3941

4042
clean:
41-
@${MAKE} --no-print-directory -C . -f lib.make clean
42-
@${MAKE} --no-print-directory -C . -f test.make clean
43+
@${MAKE} --no-print-directory -C build/gmake -f lib.make clean
44+
@${MAKE} --no-print-directory -C build/gmake -f test.make clean
4345

4446
help:
4547
@echo "Usage: make [config=name] [target]"
4648
@echo ""
4749
@echo "CONFIGURATIONS:"
4850
@echo " debug"
4951
@echo " release"
52+
@echo " test"
5053
@echo ""
5154
@echo "TARGETS:"
5255
@echo " all (default)"

build-wren.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/sh
22

3-
wget https://github.com/munificent/wren/archive/master.zip -O wren-master.zip
3+
wget https://github.com/wren-lang/wren/archive/master.zip -O wren-master.zip
44
unzip -q wren-master.zip
55
cd wren-master
6-
make vm
6+
make config=release vm

build/gmake/lib.make

+77-27
Original file line numberDiff line numberDiff line change
@@ -11,55 +11,106 @@ endif
1111
.PHONY: clean prebuild prelink
1212

1313
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
1624
TARGET = $(TARGETDIR)/libwrenpp.a
1725
OBJDIR = obj/Debug/lib
1826
DEFINES += -DDEBUG
19-
INCLUDES += -I../../../wren/src/include -I../../src
27+
INCLUDES += -I../../wren-master/src/include -I../../src
2028
FORCE_INCLUDE +=
2129
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
2432
ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
2533
LIBS +=
2634
LDDEPS +=
27-
ALL_LDFLAGS += $(LDFLAGS)
35+
ALL_LDFLAGS += $(LDFLAGS) -m64
2836
LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
2937
define PREBUILDCMDS
3038
endef
3139
define PRELINKCMDS
3240
endef
3341
define POSTBUILDCMDS
3442
endef
35-
all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)
43+
all: prebuild prelink $(TARGET)
3644
@:
3745

3846
endif
3947

4048
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
4359
TARGET = $(TARGETDIR)/libwrenpp.a
4460
OBJDIR = obj/Release/lib
4561
DEFINES += -DNDEBUG
46-
INCLUDES += -I../../../wren/src/include -I../../src
62+
INCLUDES += -I../../wren-master/src/include -I../../src
4763
FORCE_INCLUDE +=
4864
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
5167
ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES)
5268
LIBS +=
5369
LDDEPS +=
54-
ALL_LDFLAGS += $(LDFLAGS) -Wl,-x
70+
ALL_LDFLAGS += $(LDFLAGS) -m64
5571
LINKCMD = $(AR) -rcs "$@" $(OBJECTS)
5672
define PREBUILDCMDS
5773
endef
5874
define PRELINKCMDS
5975
endef
6076
define POSTBUILDCMDS
6177
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)
63114
@:
64115

65116
endif
@@ -81,24 +132,13 @@ endif
81132

82133
$(TARGET): $(GCH) ${CUSTOMFILES} $(OBJECTS) $(LDDEPS) $(RESOURCES)
83134
@echo Linking lib
84-
$(SILENT) $(LINKCMD)
85-
$(POSTBUILDCMDS)
86-
87-
$(TARGETDIR):
88-
@echo Creating $(TARGETDIR)
89135
ifeq (posix,$(SHELLTYPE))
90136
$(SILENT) mkdir -p $(TARGETDIR)
91137
else
92138
$(SILENT) mkdir $(subst /,\\,$(TARGETDIR))
93139
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)
102142

103143
clean:
104144
@echo Cleaning lib
@@ -120,11 +160,21 @@ ifneq (,$(PCH))
120160
$(OBJECTS): $(GCH) $(PCH)
121161
$(GCH): $(PCH)
122162
@echo $(notdir $<)
163+
ifeq (posix,$(SHELLTYPE))
164+
$(SILENT) mkdir -p $(OBJDIR)
165+
else
166+
$(SILENT) mkdir $(subst /,\\,$(OBJDIR))
167+
endif
123168
$(SILENT) $(CXX) -x c++-header $(ALL_CXXFLAGS) -o "$@" -MF "$(@:%.gch=%.d)" -c "$<"
124169
endif
125170

126171
$(OBJDIR)/Wren++.o: ../../Wren++.cpp
127172
@echo $(notdir $<)
173+
ifeq (posix,$(SHELLTYPE))
174+
$(SILENT) mkdir -p $(OBJDIR)
175+
else
176+
$(SILENT) mkdir $(subst /,\\,$(OBJDIR))
177+
endif
128178
$(SILENT) $(CXX) $(ALL_CXXFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
129179

130180
-include $(OBJECTS:%.o=%.d)

0 commit comments

Comments
 (0)