1370b324cSopenharmony_ciLIBS = $(LIBS) oleaut32.lib ole32.lib 2370b324cSopenharmony_ci 3370b324cSopenharmony_ci!IFNDEF MY_NO_UNICODE 4370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -DUNICODE -D_UNICODE 5370b324cSopenharmony_ci!ENDIF 6370b324cSopenharmony_ci 7370b324cSopenharmony_ci!IF "$(CC)" != "clang-cl" 8370b324cSopenharmony_ci# for link time code generation: 9370b324cSopenharmony_ci# CFLAGS = $(CFLAGS) -GL 10370b324cSopenharmony_ci!ENDIF 11370b324cSopenharmony_ci 12370b324cSopenharmony_ci!IFNDEF O 13370b324cSopenharmony_ci!IFDEF PLATFORM 14370b324cSopenharmony_ciO=$(PLATFORM) 15370b324cSopenharmony_ci!ELSE 16370b324cSopenharmony_ciO=o 17370b324cSopenharmony_ci!ENDIF 18370b324cSopenharmony_ci!ENDIF 19370b324cSopenharmony_ci 20370b324cSopenharmony_ci!IF "$(CC)" != "clang-cl" 21370b324cSopenharmony_ci# CFLAGS = $(CFLAGS) -FAsc -Fa$O/asm/ 22370b324cSopenharmony_ci!ENDIF 23370b324cSopenharmony_ci 24370b324cSopenharmony_ci 25370b324cSopenharmony_ci!IF "$(PLATFORM)" == "x64" 26370b324cSopenharmony_ciMY_ML = ml64 -WX 27370b324cSopenharmony_ci#-Dx64 28370b324cSopenharmony_ci!ELSEIF "$(PLATFORM)" == "arm" 29370b324cSopenharmony_ciMY_ML = armasm -WX 30370b324cSopenharmony_ci!ELSE 31370b324cSopenharmony_ciMY_ML = ml -WX 32370b324cSopenharmony_ci# -DABI_CDECL 33370b324cSopenharmony_ci!ENDIF 34370b324cSopenharmony_ci 35370b324cSopenharmony_ci# MY_ML = "$(MY_ML) -Fl$O\asm\ 36370b324cSopenharmony_ci 37370b324cSopenharmony_ci 38370b324cSopenharmony_ci!IFDEF UNDER_CE 39370b324cSopenharmony_ciRFLAGS = $(RFLAGS) -dUNDER_CE 40370b324cSopenharmony_ci!IFDEF MY_CONSOLE 41370b324cSopenharmony_ciLFLAGS = $(LFLAGS) /ENTRY:mainACRTStartup 42370b324cSopenharmony_ci!ENDIF 43370b324cSopenharmony_ci!ELSE 44370b324cSopenharmony_ci!IFDEF OLD_COMPILER 45370b324cSopenharmony_ciLFLAGS = $(LFLAGS) -OPT:NOWIN98 46370b324cSopenharmony_ci!ENDIF 47370b324cSopenharmony_ci!IF "$(PLATFORM)" != "arm" && "$(PLATFORM)" != "arm64" 48370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -Gr 49370b324cSopenharmony_ci!ENDIF 50370b324cSopenharmony_ciLIBS = $(LIBS) user32.lib advapi32.lib shell32.lib 51370b324cSopenharmony_ci!ENDIF 52370b324cSopenharmony_ci 53370b324cSopenharmony_ci!IF "$(PLATFORM)" == "arm" 54370b324cSopenharmony_ciCOMPL_ASM = $(MY_ML) $** $O/$(*B).obj 55370b324cSopenharmony_ci!ELSE 56370b324cSopenharmony_ciCOMPL_ASM = $(MY_ML) -c -Fo$O/ $** 57370b324cSopenharmony_ci!ENDIF 58370b324cSopenharmony_ci 59370b324cSopenharmony_ci!IFDEF OLD_COMPILER 60370b324cSopenharmony_ciCFLAGS_WARN_LEVEL = -W4 61370b324cSopenharmony_ci!ELSE 62370b324cSopenharmony_ciCFLAGS_WARN_LEVEL = -Wall 63370b324cSopenharmony_ci!ENDIF 64370b324cSopenharmony_ci 65370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -nologo -c -Fo$O/ $(CFLAGS_WARN_LEVEL) -WX -EHsc -Gy -GR- -GF 66370b324cSopenharmony_ci 67370b324cSopenharmony_ci!IF "$(CC)" == "clang-cl" 68370b324cSopenharmony_ci 69370b324cSopenharmony_ciCFLAGS = $(CFLAGS) \ 70370b324cSopenharmony_ci -Werror \ 71370b324cSopenharmony_ci -Wall \ 72370b324cSopenharmony_ci -Wextra \ 73370b324cSopenharmony_ci -Weverything \ 74370b324cSopenharmony_ci -Wfatal-errors \ 75370b324cSopenharmony_ci 76370b324cSopenharmony_ci!ENDIF 77370b324cSopenharmony_ci 78370b324cSopenharmony_ci!IFDEF MY_DYNAMIC_LINK 79370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -MD 80370b324cSopenharmony_ci!ELSE 81370b324cSopenharmony_ci!IFNDEF MY_SINGLE_THREAD 82370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -MT 83370b324cSopenharmony_ci!ENDIF 84370b324cSopenharmony_ci!ENDIF 85370b324cSopenharmony_ci 86370b324cSopenharmony_ci 87370b324cSopenharmony_ciCFLAGS = $(CFLAGS_COMMON) $(CFLAGS) 88370b324cSopenharmony_ci 89370b324cSopenharmony_ci 90370b324cSopenharmony_ci!IFNDEF OLD_COMPILER 91370b324cSopenharmony_ci 92370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -GS- -Zc:wchar_t 93370b324cSopenharmony_ci!IFDEF VCTOOLSVERSION 94370b324cSopenharmony_ci!IF "$(VCTOOLSVERSION)" >= "14.00" 95370b324cSopenharmony_ci!IF "$(CC)" != "clang-cl" 96370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -Zc:throwingNew 97370b324cSopenharmony_ci!ENDIF 98370b324cSopenharmony_ci!ENDIF 99370b324cSopenharmony_ci!ELSE 100370b324cSopenharmony_ci# -Zc:forScope is default in VS2010. so we need it only for older versions 101370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -Zc:forScope 102370b324cSopenharmony_ci!ENDIF 103370b324cSopenharmony_ci 104370b324cSopenharmony_ci!IFNDEF UNDER_CE 105370b324cSopenharmony_ci!IF "$(CC)" != "clang-cl" 106370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -MP4 107370b324cSopenharmony_ci!ENDIF 108370b324cSopenharmony_ci!IFNDEF PLATFORM 109370b324cSopenharmony_ci# CFLAGS = $(CFLAGS) -arch:IA32 110370b324cSopenharmony_ci!ENDIF 111370b324cSopenharmony_ci!ENDIF 112370b324cSopenharmony_ci 113370b324cSopenharmony_ci!ENDIF 114370b324cSopenharmony_ci 115370b324cSopenharmony_ci 116370b324cSopenharmony_ci!IFDEF MY_CONSOLE 117370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -D_CONSOLE 118370b324cSopenharmony_ci!ENDIF 119370b324cSopenharmony_ci 120370b324cSopenharmony_ci!IFNDEF UNDER_CE 121370b324cSopenharmony_ci!IF "$(PLATFORM)" == "arm" 122370b324cSopenharmony_ciCFLAGS = $(CFLAGS) -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE 123370b324cSopenharmony_ci!ENDIF 124370b324cSopenharmony_ci!ENDIF 125370b324cSopenharmony_ci 126370b324cSopenharmony_ci!IF "$(PLATFORM)" == "x64" 127370b324cSopenharmony_ciCFLAGS_O1 = $(CFLAGS) -O1 128370b324cSopenharmony_ci!ELSE 129370b324cSopenharmony_ciCFLAGS_O1 = $(CFLAGS) -O1 130370b324cSopenharmony_ci!ENDIF 131370b324cSopenharmony_ciCFLAGS_O2 = $(CFLAGS) -O2 132370b324cSopenharmony_ci 133370b324cSopenharmony_ciLFLAGS = $(LFLAGS) -nologo -OPT:REF -OPT:ICF -INCREMENTAL:NO 134370b324cSopenharmony_ci 135370b324cSopenharmony_ci!IFNDEF UNDER_CE 136370b324cSopenharmony_ciLFLAGS = $(LFLAGS) /LARGEADDRESSAWARE 137370b324cSopenharmony_ci!ENDIF 138370b324cSopenharmony_ci 139370b324cSopenharmony_ci!IFDEF DEF_FILE 140370b324cSopenharmony_ciLFLAGS = $(LFLAGS) -DLL -DEF:$(DEF_FILE) 141370b324cSopenharmony_ci!ELSE 142370b324cSopenharmony_ci!IF defined(MY_FIXED) && "$(PLATFORM)" != "arm" && "$(PLATFORM)" != "arm64" 143370b324cSopenharmony_ciLFLAGS = $(LFLAGS) /FIXED 144370b324cSopenharmony_ci!ELSE 145370b324cSopenharmony_ciLFLAGS = $(LFLAGS) /FIXED:NO 146370b324cSopenharmony_ci!ENDIF 147370b324cSopenharmony_ci# /BASE:0x400000 148370b324cSopenharmony_ci!ENDIF 149370b324cSopenharmony_ci 150370b324cSopenharmony_ci!IF "$(PLATFORM)" == "arm64" 151370b324cSopenharmony_ci# we can get better compression ratio with ARM64 filter if we change alignment to 4096 152370b324cSopenharmony_ci# LFLAGS = $(LFLAGS) /FILEALIGN:4096 153370b324cSopenharmony_ci!ENDIF 154370b324cSopenharmony_ci 155370b324cSopenharmony_ci 156370b324cSopenharmony_ci 157370b324cSopenharmony_ci# !IF "$(PLATFORM)" == "x64" 158370b324cSopenharmony_ci 159370b324cSopenharmony_ci!IFDEF SUB_SYS_VER 160370b324cSopenharmony_ci 161370b324cSopenharmony_ciMY_SUB_SYS_VER=5.02 162370b324cSopenharmony_ci 163370b324cSopenharmony_ci!IFDEF MY_CONSOLE 164370b324cSopenharmony_ciLFLAGS = $(LFLAGS) /SUBSYSTEM:console,$(MY_SUB_SYS_VER) 165370b324cSopenharmony_ci!ELSE 166370b324cSopenharmony_ciLFLAGS = $(LFLAGS) /SUBSYSTEM:windows,$(MY_SUB_SYS_VER) 167370b324cSopenharmony_ci!ENDIF 168370b324cSopenharmony_ci 169370b324cSopenharmony_ci!ENDIF 170370b324cSopenharmony_ci 171370b324cSopenharmony_ci 172370b324cSopenharmony_ciPROGPATH = $O\$(PROG) 173370b324cSopenharmony_ci 174370b324cSopenharmony_ciCOMPL_O1 = $(CC) $(CFLAGS_O1) $** 175370b324cSopenharmony_ciCOMPL_O2 = $(CC) $(CFLAGS_O2) $** 176370b324cSopenharmony_ciCOMPL_PCH = $(CC) $(CFLAGS_O1) -Yc"StdAfx.h" -Fp$O/a.pch $** 177370b324cSopenharmony_ciCOMPL = $(CC) $(CFLAGS_O1) -Yu"StdAfx.h" -Fp$O/a.pch $** 178370b324cSopenharmony_ciCOMPLB = $(CC) $(CFLAGS_O1) -Yu"StdAfx.h" -Fp$O/a.pch $< 179370b324cSopenharmony_ciCOMPLB_O2 = $(CC) $(CFLAGS_O2) $< 180370b324cSopenharmony_ci# COMPLB_O2 = $(CC) $(CFLAGS_O2) -Yu"StdAfx.h" -Fp$O/a.pch $< 181370b324cSopenharmony_ci 182370b324cSopenharmony_ciCFLAGS_C_ALL = $(CFLAGS_O2) $(CFLAGS_C_SPEC) 183370b324cSopenharmony_ci 184370b324cSopenharmony_ciCCOMPL_PCH = $(CC) $(CFLAGS_C_ALL) -Yc"Precomp.h" -Fp$O/a.pch $** 185370b324cSopenharmony_ciCCOMPL_USE = $(CC) $(CFLAGS_C_ALL) -Yu"Precomp.h" -Fp$O/a.pch $** 186370b324cSopenharmony_ciCCOMPLB_USE = $(CC) $(CFLAGS_C_ALL) -Yu"Precomp.h" -Fp$O/a.pch $< 187370b324cSopenharmony_ciCCOMPL = $(CC) $(CFLAGS_C_ALL) $** 188370b324cSopenharmony_ciCCOMPLB = $(CC) $(CFLAGS_C_ALL) $< 189370b324cSopenharmony_ci 190370b324cSopenharmony_ci!IF "$(CC)" == "clang-cl" 191370b324cSopenharmony_ciCOMPL = $(COMPL) -FI StdAfx.h 192370b324cSopenharmony_ciCOMPLB = $(COMPLB) -FI StdAfx.h 193370b324cSopenharmony_ciCCOMPL_USE = $(CCOMPL_USE) -FI Precomp.h 194370b324cSopenharmony_ciCCOMPLB_USE = $(CCOMPLB_USE) -FI Precomp.h 195370b324cSopenharmony_ci!ENDIF 196370b324cSopenharmony_ci 197370b324cSopenharmony_ciall: $(PROGPATH) 198370b324cSopenharmony_ci 199370b324cSopenharmony_ciclean: 200370b324cSopenharmony_ci -del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch $O\*.asm 201370b324cSopenharmony_ci 202370b324cSopenharmony_ci$O: 203370b324cSopenharmony_ci if not exist "$O" mkdir "$O" 204370b324cSopenharmony_ci$O/asm: 205370b324cSopenharmony_ci if not exist "$O/asm" mkdir "$O/asm" 206370b324cSopenharmony_ci 207370b324cSopenharmony_ci!IF "$(CC)" != "clang-cl" 208370b324cSopenharmony_ci# for link time code generation: 209370b324cSopenharmony_ci# LFLAGS = $(LFLAGS) -LTCG 210370b324cSopenharmony_ci!ENDIF 211370b324cSopenharmony_ci 212370b324cSopenharmony_ci$(PROGPATH): $O $O/asm $(OBJS) $(DEF_FILE) 213370b324cSopenharmony_ci link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS) 214370b324cSopenharmony_ci 215370b324cSopenharmony_ci!IFNDEF NO_DEFAULT_RES 216370b324cSopenharmony_ci$O\resource.res: $(*B).rc 217370b324cSopenharmony_ci rc $(RFLAGS) -fo$@ $** 218370b324cSopenharmony_ci!ENDIF 219370b324cSopenharmony_ci$O\StdAfx.obj: $(*B).cpp 220370b324cSopenharmony_ci $(COMPL_PCH) 221370b324cSopenharmony_ci 222370b324cSopenharmony_cipredef: empty.c 223370b324cSopenharmony_ci $(CCOMPL) /EP /Zc:preprocessor /PD 224370b324cSopenharmony_cipredef2: A.cpp 225370b324cSopenharmony_ci $(COMPL) -EP -Zc:preprocessor -PD 226370b324cSopenharmony_cipredef3: A.cpp 227370b324cSopenharmony_ci $(COMPL) -E -dM 228370b324cSopenharmony_cipredef4: A.cpp 229370b324cSopenharmony_ci $(COMPL_O2) -E 230