Skip to content

Commit 1b31cb8

Browse files
committed
Use export to simplify windows Makefiles. Fix BIT_IDENTICAL_FLOATING_POINT
build for MSVC Makefiles (have no time to test non-MSVC currently).
1 parent 1cdfb34 commit 1b31cb8

File tree

17 files changed

+87
-60
lines changed

17 files changed

+87
-60
lines changed

build.win32x86/common/Makefile

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ VM?=Squeak
1818
VM_NAME?=$(VM)
1919
CONFIGURATION=product
2020
THREADING=single
21+
export VM VM_NAME CONFIGURATION
2122

2223
# Is this a Croquet VM (defaults to OGL instead of D3D)?
2324
CROQUET:=-DCROQUET
@@ -45,9 +46,11 @@ else
4546
endif
4647
$(shell mkdir -p deps >/dev/null) # deps is the dependencies directory
4748
PLUGINSRCDIR:= ../../src
49+
export PLUGINSRCDIR
4850
OBJDIR:= $(BUILD)/vm
4951

5052
PLATDIR:=../../platforms
53+
export PLATDIR
5154
CROSSDIR:=$(PLATDIR)/Cross/vm
5255
TPDIR:=$(PLATDIR)/Cross/third-party
5356
WIN32DIR:=$(PLATDIR)/win32/vm
@@ -77,6 +80,7 @@ DLLS:= $(addprefix $(OBJDIR)/, $(addsuffix .dll, $(EXTERNAL_PLUGINS)))
7780

7881
ifdef BIT_IDENTICAL_FLOATING_POINT
7982
LIBS:=$(BUILD)/fdlibm/libm.a $(LIBS)
83+
export BIT_IDENTICAL_FLOATING_POINT
8084
endif
8185

8286
#############################################################################
@@ -275,28 +279,23 @@ $(OBJDIR)/%.lib: $(call plugin-makefile,$(*F))
275279
rm -f $(BUILD)/vm/$(*F).ignore
276280
$(MAKE) $(MFLAGS) BUILD=$(BUILD) \
277281
-f $(call plugin-makefile,$(*F)) \
278-
"VM=$(VM)" "VM_NAME=$(VM_NAME)" \
279-
CONFIGURATION=$(CONFIGURATION) TOOLPREFIX=$(TOOLPREFIX) \
280-
THIRDPARTYOUTDIR=$(THIRDPARTYOUTDIR) \
281-
PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
282-
LIBNAME=$(*F) COGDEFS="$(COGDEFS) -DSQUEAK_BUILTIN_PLUGIN" \
283282
$(OBJDIR)/$(*F).lib
283+
LIBNAME=$(*F) INTERNAL_PLUGIN=1 VMSRCDIR=$(VMSRCDIR) \
284+
COGDEFS="$(COGDEFS) -DSQUEAK_BUILTIN_PLUGIN=$(*F)" $(OBJDIR)/$(*F).lib
284285

285286
# External plugin. Build as dll and copy to vm dir ($(OBJDIR)).
286287
$(OBJDIR)/%.dll: $(call plugin-makefile,$(*F))
287288
@-mkdir -p $(BUILD)/$(*F)
288289
rm -f $(BUILD)/$(*F).ignore
289290
$(MAKE) $(MFLAGS) BUILD=$(BUILD) \
290291
-f $(call plugin-makefile,$(*F)) \
291-
"VM=$(VM)" "VM_NAME=$(VM_NAME)" VMLIB=$(OBJDIR)/$(VMLIB) \
292-
CONFIGURATION=$(CONFIGURATION) TOOLPREFIX=$(TOOLPREFIX) \
293-
PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
294-
THIRDPARTYOUTDIR=$(THIRDPARTYOUTDIR) JMPOBJ=$(JMPOBJ) \
295-
COGDEFS="$(COGDEFS) -DSQUEAK_EXTERNAL_PLUGIN=$(*F)" LIBNAME=$(*F) $(OBJDIR)/$(*F).dll
292+
LIBNAME=$(*F) EXTERNAL_PLUGIN=1 VMSRCDIR=$(VMSRCDIR) \
293+
JMPOBJ=$(JMPOBJ) VMLIB=$(OBJDIR)/$(VMLIB) \
294+
COGDEFS="$(COGDEFS) -DSQUEAK_EXTERNAL_PLUGIN=$(*F)" $(OBJDIR)/$(*F).dll
296295

297296
$(BUILD)/fdlibm/libm.a:
298297
@-mkdir -p $(@D)
299-
$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS) -D_IEEE_LIBM" -C $(@D) \
298+
$(MAKE) CC='$(CC)' CFLAGS="$(CFLAGS) -D_IEEE_LIBM" -C $(@D) \
300299
TP=../../$(TPDIR) -f ../../$(TPDIR)/fdlibm/Makefile.remote
301300

302301

build.win32x86/common/Makefile.lib.extra

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,16 @@ THIRDPARTYDIR?=$(BUILD)/third-party
1010
THIRDPARTYLIBDIR?=$(THIRDPARTYOUTDIR)/bin
1111
THIRDPARTYINCLUDEDIR?=$(THIRDPARTYOUTDIR)/include
1212
THIRDPARTYCACHEDIR?=../../.thirdparty-cache
13-
THIRDPARTYOUTDIR?=$(abspath $(THIRDPARTYCACHEDIR)/windows/i386)
13+
THIRDPARTYOUTDIR?=$(abspath $(THIRDPARTYCACHEDIR)/windows/x86_64)
14+
export THIRDPARTYOUTDIR
1415
THIRDPARTYINSTALLDIR?=$(BUILD)/vm
15-
THIRDPARTY_CFLAGS?=-m32 -static-libgcc -static-libstdc++
16-
THIRDPARTY_LDFLAGS?=-m32 -static-libgcc -static-libstdc++
16+
THIRDPARTY_CFLAGS?=-m64 -static-libgcc -static-libstdc++
17+
THIRDPARTY_LDFLAGS?=-m64 -static-libgcc -static-libstdc++
1718
WGET?=wget -q --no-check-certificate
1819

20+
#I need this toolchain to compile external libraries with appropriate gcc
21+
THIRDPARTY_TOOLCHAIN:=CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar LD=x86_64-w64-mingw32-clang NM=x86_64-w64-mingw32-nm RC=x86_64-w64-mingw32-windres DLLTOOL=x86_64-w64-mingw32-dlltool DLLWRAP=x86_64-w64-mingw32-dllwrap
22+
1923

2024
$(THIRDPARTYDIR):
2125
if [ ! -d $(THIRDPARTYDIR) ]; then mkdir -p $(THIRDPARTYDIR); fi

build.win32x86/common/Makefile.msvc

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#############################################################################
2-
# Common Makefile for Win32 VM using MSVC, e.g. 2017 Community, and gnu make
2+
# Common Makefile for Win64 VM using MSVC, e.g. 2017 Community, and gnu make
33
# Copyright (c) 2020 3D Immersive Collaboration Consulting, LLC
44
#
55
# Do make init to allow make -n to function.
@@ -20,6 +20,7 @@ VM?=Squeak
2020
VM_NAME?=$(VM)
2121
CONFIGURATION=product
2222
THREADING=single
23+
export VM VM_NAME CONFIGURATION
2324

2425
# Is this a Croquet VM (defaults to OGL instead of D3D)?
2526
CROQUET:=-DCROQUET
@@ -47,11 +48,14 @@ else
4748
endif
4849

4950
PLUGINSRCDIR:= ../../src
51+
export PLUGINSRCDIR
5052
OBJDIR:= $(BUILD)/vm
5153

5254
PLATDIR:=../../platforms
55+
export PLATDIR
5356
CROSSDIR:=$(PLATDIR)/Cross/vm
5457
TPDIR:=$(PLATDIR)/Cross/third-party
58+
export TPDIR
5559
WIN32DIR:=$(PLATDIR)/win32/vm
5660
WIN32PLUGINSDIR:=$(PLATDIR)/win32/plugins
5761
WIN32MISCDIR:=$(PLATDIR)/win32/misc
@@ -88,6 +92,7 @@ DLLS:= $(addprefix $(OBJDIR)/, $(addsuffix .dll, $(EXTERNAL_PLUGINS)))
8892

8993
ifdef BIT_IDENTICAL_FLOATING_POINT
9094
LIBS:=$(BUILD)/fdlibm/libm.a $(LIBS)
95+
export BIT_IDENTICAL_FLOATING_POINT
9196
endif
9297

9398
#############################################################################
@@ -117,8 +122,8 @@ VMRES:= $(VM).res
117122
VMDEFIN:=$(VM).def.in
118123
BTOBJ:= $(OBJDIR)/btext.o
119124
ETOBJ:= $(OBJDIR)/etext.o
120-
JMPASM:=_setjmp-x86.asm
121-
JMPOBJ:=$(OBJDIR)/_setjmp-x86.o
125+
JMPASM:=_setjmp-x64.asm
126+
JMPOBJ:=$(OBJDIR)/_setjmp-x64.o
122127

123128
.PRECIOUS: mkNamedPrims.exe
124129

@@ -223,13 +228,11 @@ $(VMEXE): $(OBJDIR) $(THIRDPARTYLIBS) $(VMOBJ) $(LIBS) resource.o $(BTOBJ) $(ETO
223228
$(CC) $(DASH_O)$(OBJDIR)/version.o $(CFLAGS) $(INCLUDES) $(DEFS) -D'TZ="$(TZ)"' -c $(WIN32DIR)/version.c
224229
$(LD) $(LDFLAGS) -OUT:$(VMEXE) -MAP:$(VMMAP) \
225230
$(BTOBJ) $(VMOBJ) $(JMPOBJ) $(OBJDIR)/resource.o $(filter-out $(call ignore), $(LIBS)) $(STDLIBS) $(ETOBJ)
226-
$(NM) --numeric-sort --defined-only -f bsd $(VMEXE) >$(VMMAP).bsd
227231

228232
$(CONSOLEVMEXE): $(VMOBJ) $(LIBS) resource.o $(BTOBJ) $(ETOBJ) $(JMPOBJ)
229233
$(CC) $(DASH_O)$(OBJDIR)/version.o $(CFLAGS) $(INCLUDES) $(DEFS) -D'TZ="$(TZ)"' -c $(WIN32DIR)/version.c
230234
$(LD) $(CONSOLELDFLAGS) -OUT:$(CONSOLEVMEXE) -MAP:$(CONSOLEVMMAP) \
231235
$(BTOBJ) $(VMOBJ) $(JMPOBJ) $(OBJDIR)/resource.o $(filter-out $(call ignore), $(LIBS)) $(STDLIBS) $(ETOBJ)
232-
$(NM) --numeric-sort --defined-only -f bsd $(CONSOLEVMEXE) >$(CONSOLEVMMAP).bsd
233236

234237
$(OBJDIR):
235238
@-$(MKDIR) $(BUILD)
@@ -262,23 +265,18 @@ $(OBJDIR)/%.lib: $(call plugin-makefile,$(*F))
262265
$(RM) -f $(BUILD)/vm/$(*F).ignore
263266
$(MAKE) $(MFLAGS) $(SUBMFLAGS) -I../common BUILD=$(BUILD) \
264267
-f $(call plugin-makefile,$(*F)) \
265-
"VM=$(VM)" "VM_NAME=$(VM_NAME)" INTERNAL_PLUGIN=1 TPDIR=$(TPDIR) \
266-
CONFIGURATION=$(CONFIGURATION) ARCH=$(ARCH) TOOLPREFIX=$(TOOLPREFIX) \
267-
PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
268-
THIRDPARTYOUTDIR=$(THIRDPARTYOUTDIR) \
269-
COGDEFS="$(COGDEFS) -DSQUEAK_BUILTIN_PLUGIN=$(*F)" LIBNAME=$(*F) $(OBJDIR)/$(*F).lib
268+
LIBNAME=$(*F) INTERNAL_PLUGIN=1 VMSRCDIR=$(VMSRCDIR) \
269+
COGDEFS="$(COGDEFS) -DSQUEAK_BUILTIN_PLUGIN=$(*F)" $(OBJDIR)/$(*F).lib
270270

271271
# External plugin. Build as dll and copy to vm dir ($(OBJDIR)).
272272
$(OBJDIR)/%.dll: $(call plugin-makefile,$(*F))
273273
@-$(MKDIR) $(BUILD)/$(*F)
274274
$(RM) -f $(BUILD)/$(*F).ignore
275275
$(MAKE) $(MFLAGS) $(SUBMFLAGS) -I../common BUILD=$(BUILD) \
276276
-f $(call plugin-makefile,$(*F)) \
277-
"VM=$(VM)" "VM_NAME=$(VM_NAME)" EXTERNAL_PLUGIN=1 TPDIR=$(TPDIR) \
278-
CONFIGURATION=$(CONFIGURATION) ARCH=$(ARCH) TOOLPREFIX=$(TOOLPREFIX) \
279-
PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
280-
THIRDPARTYOUTDIR=$(THIRDPARTYOUTDIR) JMPOBJ=$(JMPOBJ) \
281-
COGDEFS="$(COGDEFS) -DSQUEAK_EXTERNAL_PLUGIN=$(*F)" LIBNAME=$(*F) VMLIB=$(VMLIB) $(OBJDIR)/$(*F).dll
277+
LIBNAME=$(*F) EXTERNAL_PLUGIN=1 VMSRCDIR=$(VMSRCDIR) \
278+
JMPOBJ=$(JMPOBJ) VMLIB=$(VMLIB) \
279+
COGDEFS="$(COGDEFS) -DSQUEAK_EXTERNAL_PLUGIN=$(*F)" $(OBJDIR)/$(*F).dll
282280

283281
$(BUILD)/fdlibm/libm.a:
284282
@-mkdir -p $(@D)
@@ -297,7 +295,7 @@ $(VMRES): $(VM).rc
297295
$(CP) $(VM).exe.manifest $(OBJDIR)/$(VM)Console.exe.manifest
298296

299297
resource.o: $(VMRES)
300-
$(CVTRES) /MACHINE:X86 /OUT:$(OBJDIR)/resource.o $(OBJDIR)/$(VMRES)
298+
$(CVTRES) /MACHINE:$(ARCH) /OUT:$(OBJDIR)/resource.o $(OBJDIR)/$(VMRES)
301299

302300
#############################################################################
303301
# Extra specific dependencies

build.win32x86/common/Makefile.msvc.flags

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#############################################################################
88

99
ARCH:=x86
10+
export ARCH
1011

1112
# Find out where the MSVC tools are if not already defined.
1213
ifeq ($(VCToolsInstallDir),)
@@ -39,6 +40,7 @@ $(info VCINSTALLDIRSH=$(VCINSTALLDIRSH))
3940
$(info wildcard C:/Program\ Files/LLVM/bin/.* $(wildcard C:/Program\ Files/LLVM/bin/.*))
4041

4142
override TOOLPREFIX:="$(VCToolsInstallDir)bin/HostX64/x86/"
43+
export TOOLPREFIX
4244
MSVC:=MSVC
4345
undefine Clang
4446
undefine ClangC2

build.win32x86/common/Makefile.msvc.plugin

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ BUILDDIR:= $(BUILD)/$(LIBNAME)
3131
# Support directory locations
3232
CROSSVMDIR:= $(PLATDIR)/Cross/vm
3333
WIN32VMDIR:= $(PLATDIR)/win32/vm
34+
WIN32MISCDIR:=$(PLATDIR)/win32/misc
3435
MAKERVMDIR:= $(SRCDIR)/vm
3536

3637
#############################################################################
@@ -72,6 +73,9 @@ PLUGINDLL:= $(VMDIR)/$(LIBNAME).dll
7273
LIBOBJ?= $(LIBSRC:.c=.o)
7374
LIBOBJ:= $(LIBOBJ:.cpp=.o)
7475
LIBOBJ:= $(addprefix $(OBJDIR)/,$(LIBOBJ))
76+
ifdef BIT_IDENTICAL_FLOATING_POINT
77+
LIBOBJ+=$(BUILD)/fdlibm/libm.a $(LIBS)
78+
endif
7579
#$(info LIBOBJ is $(LIBOBJ))
7680

7781
include ../common/Makefile.msvc.flags
@@ -92,6 +96,7 @@ print-settings:
9296
$(info SRCDIR='$(SRCDIR)')
9397
$(info CROSSDIR='$(CROSSDIR)')
9498
$(info WIN32DIR='$(WIN32DIR)')
99+
$(info WIN32MISCDIR='$(WIN32MISCDIR)')
95100
$(info MAKERDIR='$(MAKERDIR)')
96101
$(info CROSSSRC='$(CROSSSRC)')
97102
$(info WIN32SRC='$(WIN32SRC)')
@@ -105,6 +110,7 @@ print-settings:
105110
$(info PLUGINSRCDIR='$(PLUGINSRCDIR)')
106111
$(info PLUGINLIB='$(PLUGINLIB)')
107112
$(info PLUGINDLL='$(PLUGINDLL)')
113+
$(info PLUGINDLL_LIBS='$(PLUGINDLL_LIBS)')
108114
$(info XINC='$(XINC)')
109115
$(info XDEFS='$(XDEFS)')
110116
$(info -----------------------------------------------------)
@@ -119,8 +125,10 @@ $(PLUGINLIB): $(VMDIR) $(OBJDIR) $(LIBOBJ) $(LIBSRC)
119125
-$(RM) $(PLUGINLIB)
120126
$(LIBRARIAN) $(LIBOBJ) $(EXTRALIBS) -out:$(subst /,\\,$(PLUGINLIB))
121127

128+
PLUGINDLL_LIBS:=WinMM.lib ole32.lib dsound.lib msdmo.lib kernel32.lib /NODEFAULTLIB:libc /NODEFAULTLIB:libcmt /DEFAULTLIB:msvcrt
129+
122130
$(PLUGINDLL): $(VMDIR) $(OBJDIR) $(LIBOBJ) $(JMPOBJ) $(LIBSRC)
123-
$(LD) WinMM.lib ole32.lib dsound.lib msdmo.lib kernel32.lib $(VMLIB) $(LDFLAGS) -DLL $(LIBOBJ) $(JMPOBJ) $(EXTRALIBS) \
131+
$(LD) $(VMLIB) $(LDFLAGS) -DLL $(LIBOBJ) $(JMPOBJ) $(PLUGINDLL_LIBS) $(EXTRALIBS) \
124132
-LIBPATH:$(BUILD)/vm \
125133
-LIBPATH:"$(WindowsSdkDir)LIB/$(WindowsSDKVersion)/um/x86" \
126134
-LIBPATH:"$(WindowsSdkDir)LIB/$(WindowsSDKVersion)/ucrt/x86" \

build.win32x86/common/Makefile.msvc.tools

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ CONSOLELDFLAGS:= /subsystem:console $(BASELDFLAGS)
8888
DL:=/DEFAULTLIB:
8989
NDL:=/NODEFAULTLIB:
9090

91-
STDLIBS:=$(STDLIBS) $(NDL)libc $(NDL)libcmt $(DL)msvcrt \
91+
ifdef BIT_IDENTICAL_FLOATING_POINT
92+
EXTRANDLS:=/NODEFAULTLIB:libm
93+
endif
94+
STDLIBS:=$(STDLIBS) $(NDL)libc $(NDL)libcmt $(EXTRANDLS) $(DL)msvcrt \
9295
dinput8.lib dsound.lib ws2_32.lib comdlg32.lib ole32.lib winmm.lib \
9396
version.lib wininet.lib user32.lib gdi32.lib psapi.lib \
9497
advapi32.lib kernel32.lib secur32.lib shell32.lib shfolder.lib

build.win32x86/common/Makefile.plugin

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ PLUGINLIB:= $(VMDIR)/$(LIBNAME).lib
9898
PLUGINDLL:= $(VMDIR)/$(LIBNAME).dll
9999
LIBOBJ ?= $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LIBSRC)))
100100
LIBOBJ:= $(addprefix $(OBJDIR)/,$(LIBOBJ))
101+
ifdef BIT_IDENTICAL_FLOATING_POINT
102+
LIBOBJ+=$(BUILD)/fdlibm/libm.a $(LIBS)
103+
endif
101104

102105

103106
VPATH:= $(MAKERDIR) $(WIN32DIR) $(CROSSDIR) $(OBJDIR)

build.win32x86/common/Makefile.tools

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#
44

55
TOOLPREFIX:=i686-w64-mingw32-
6+
export TOOLPREFIX
67

78
#############################################################################
89
# C compiler settings (gcc 4.x)

build.win64x64/common/Makefile

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ VM?=Squeak
1818
VM_NAME?=$(VM)
1919
CONFIGURATION=product
2020
THREADING=single
21+
export VM VM_NAME CONFIGURATION
2122

2223
# Is this a Croquet VM (defaults to OGL instead of D3D)?
2324
CROQUET:=-DCROQUET
@@ -45,9 +46,11 @@ else
4546
endif
4647
$(shell mkdir -p deps >/dev/null) # deps is the dependencies directory
4748
PLUGINSRCDIR:= ../../src
49+
export PLUGINSRCDIR
4850
OBJDIR:= $(BUILD)/vm
4951

5052
PLATDIR:=../../platforms
53+
export PLATDIR
5154
CROSSDIR:=$(PLATDIR)/Cross/vm
5255
TPDIR:=$(PLATDIR)/Cross/third-party
5356
WIN32DIR:=$(PLATDIR)/win32/vm
@@ -77,6 +80,7 @@ DLLS:= $(addprefix $(OBJDIR)/, $(addsuffix .dll, $(EXTERNAL_PLUGINS)))
7780

7881
ifdef BIT_IDENTICAL_FLOATING_POINT
7982
LIBS:=$(BUILD)/fdlibm/libm.a $(LIBS)
83+
export BIT_IDENTICAL_FLOATING_POINT
8084
endif
8185

8286
#############################################################################
@@ -275,28 +279,23 @@ $(OBJDIR)/%.lib: $(call plugin-makefile,$(*F))
275279
rm -f $(BUILD)/vm/$(*F).ignore
276280
$(MAKE) $(MFLAGS) BUILD=$(BUILD) \
277281
-f $(call plugin-makefile,$(*F)) \
278-
"VM=$(VM)" "VM_NAME=$(VM_NAME)" \
279-
CONFIGURATION=$(CONFIGURATION) TOOLPREFIX=$(TOOLPREFIX) \
280-
THIRDPARTYOUTDIR=$(THIRDPARTYOUTDIR) \
281-
PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
282-
LIBNAME=$(*F) COGDEFS="$(COGDEFS) -DSQUEAK_BUILTIN_PLUGIN" \
283282
$(OBJDIR)/$(*F).lib
283+
LIBNAME=$(*F) INTERNAL_PLUGIN=1 VMSRCDIR=$(VMSRCDIR) \
284+
COGDEFS="$(COGDEFS) -DSQUEAK_BUILTIN_PLUGIN=$(*F)" $(OBJDIR)/$(*F).lib
284285

285286
# External plugin. Build as dll and copy to vm dir ($(OBJDIR)).
286287
$(OBJDIR)/%.dll: $(call plugin-makefile,$(*F))
287288
@-mkdir -p $(BUILD)/$(*F)
288289
rm -f $(BUILD)/$(*F).ignore
289290
$(MAKE) $(MFLAGS) BUILD=$(BUILD) \
290291
-f $(call plugin-makefile,$(*F)) \
291-
"VM=$(VM)" "VM_NAME=$(VM_NAME)" VMLIB=$(OBJDIR)/$(VMLIB) \
292-
CONFIGURATION=$(CONFIGURATION) TOOLPREFIX=$(TOOLPREFIX) \
293-
PLATDIR=$(PLATDIR) PLUGINSRCDIR=$(PLUGINSRCDIR) VMSRCDIR=$(VMSRCDIR) \
294-
THIRDPARTYOUTDIR=$(THIRDPARTYOUTDIR) JMPOBJ=$(JMPOBJ) \
295-
COGDEFS="$(COGDEFS) -DSQUEAK_EXTERNAL_PLUGIN=$(*F)" LIBNAME=$(*F) $(OBJDIR)/$(*F).dll
292+
LIBNAME=$(*F) EXTERNAL_PLUGIN=1 VMSRCDIR=$(VMSRCDIR) \
293+
JMPOBJ=$(JMPOBJ) VMLIB=$(OBJDIR)/$(VMLIB) \
294+
COGDEFS="$(COGDEFS) -DSQUEAK_EXTERNAL_PLUGIN=$(*F)" $(OBJDIR)/$(*F).dll
296295

297296
$(BUILD)/fdlibm/libm.a:
298297
@-mkdir -p $(@D)
299-
$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS) -D_IEEE_LIBM" -C $(@D) \
298+
$(MAKE) CC='$(CC)' CFLAGS="$(CFLAGS) -D_IEEE_LIBM" -C $(@D) \
300299
TP=../../$(TPDIR) -f ../../$(TPDIR)/fdlibm/Makefile.remote
301300

302301

build.win64x64/common/Makefile.lib.extra

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ THIRDPARTYLIBDIR?=$(THIRDPARTYOUTDIR)/bin
1111
THIRDPARTYINCLUDEDIR?=$(THIRDPARTYOUTDIR)/include
1212
THIRDPARTYCACHEDIR?=../../.thirdparty-cache
1313
THIRDPARTYOUTDIR?=$(abspath $(THIRDPARTYCACHEDIR)/windows/x86_64)
14+
export THIRDPARTYOUTDIR
1415
THIRDPARTYINSTALLDIR?=$(BUILD)/vm
1516
THIRDPARTY_CFLAGS?=-m64 -static-libgcc -static-libstdc++
1617
THIRDPARTY_LDFLAGS?=-m64 -static-libgcc -static-libstdc++

0 commit comments

Comments
 (0)