11#############################################################################
2- # Common Makefile for Win32 VM using MSVC, e.g. 2017 Community, and gnu make
2+ # Common Makefile for Win32 VM using clang/ MSVC, e.g. 2017 Community, and gnu make
33# Copyright (c) 2020 3D Immersive Collaboration Consulting, LLC
44#
55# Compilation rules and flags for plugins built with the MSVC toolchain, such
@@ -30,23 +30,19 @@ override VCINSTALLDIRSH:=$(shell echo "$(VCINSTALLDIR)" | sed 's/[()]/\\&/g')
3030#############################################################################
3131# C compiler settings assuming Visual C++ 2017 Community Edition
3232#
33- # Try and choose a compiler. Alas clang-cl does not appear to support x86.
34- # And ClangC2 is broken. So just use MSVC
3533#
3634
3735$(info VCINSTALLDIR=$(VCINSTALLDIR))
3836$(info VCINSTALLDIRSH=$(VCINSTALLDIRSH))
39- #$(info wildcard VCINSTALLDIR $(wildcard $(VCINSTALLDIR)/.*))
40- $(info wildcard C:/Program\ Files/LLVM/bin/.* $(wildcard C:/Program\ Files/LLVM/bin/.*))
4137
42- override TOOLPREFIX:="$(VCToolsInstallDir)bin/Hostx64/x86/"
43- override HOSTTOOLPREFIX:="$(VCToolsInstallDir)bin/Hostx64/x64/"
44- export TOOLPREFIX HOSTTOOLPREFIX
45- MSVC:= MSVC
46- undefine Clang
47- undefine ClangC2
48- CC:=$(TOOLPREFIX)cl.exe -nologo
49- HOSTCC:=$(HOSTTOOLPREFIX)cl.exe -nologo
38+ CC:=clang.exe
39+ HOSTCC:=$(CC)
40+ Clang:=Clang32
41+ undefine MSVC
42+ export TOOLPREFIX
43+ $(info CC=$(CC))
44+ AS:=as --32
45+ XCFLAGS+=-DRGBMul32BitFallBack=1
5046
5147$(info CC=$(CC))
5248
6864MSVCINCLUDES:=-I"$(subst \,/,$(subst ;," -I",$(INCLUDE)))"
6965#$(info MSVCINCLUDES is $(MSVCINCLUDES))
7066
67+ ifdef Clang32
68+ PRODUCTION_OFLAGS:=-Os
69+ ASSERT_OFLAGS:=-Od
70+ DEBUG_OFLAGS:=-O0
71+ DASH_O:=-o
72+ OFLAGS=-O3
73+ CFLAGS= -m32 -MD -DLP32=1 -DWIN32=1 -gcodeview $(OFLAGS) \
74+ -Dalloca=_alloca -Dhuge=my_huge \
75+ $(XCFLAGS) $(NOBUILTIN) $(WARNINGS)
76+ else ifdef MSVC
7177# DO NOT USE := FOR OFLAGS BECAUSE SOME PLUGINS REDEFINE THIS!!
7278# -Z7 debug info in files; -Zi debug info in PDB
73- ifdef MSVC
7479PRODUCTION_OFLAGS:=-Ox -Ob1 -Oi -Oy
7580ASSERT_OFLAGS:=-Os -Oi- -Oy-
7681DEBUG_OFLAGS:=-Od
@@ -79,7 +84,7 @@ OFLAGS= -Ot
7984CFLAGS= -MD -DLP32=1 -DWIN32=1 -Z7 $(OFLAGS) \
8085 -Dalloca=_alloca -Dhuge=my_huge \
8186 -EHsc $(XCFLAGS) $(NOBUILTIN) $(WARNINGS)
82- else ifdef ClangC2
87+ else
8388PRODUCTION_OFLAGS:=-Os
8489ASSERT_OFLAGS:=-Od
8590DEBUG_OFLAGS:=-O0
0 commit comments