Imported Upstream version 9.20
[platform/upstream/7zip.git] / CPP / Build.mak
1 LIBS = $(LIBS) oleaut32.lib ole32.lib\r
2 \r
3 !IFDEF CPU\r
4 !IFNDEF NO_BUFFEROVERFLOWU\r
5 LIBS = $(LIBS) bufferoverflowU.lib\r
6 !ENDIF\r
7 !ENDIF\r
8 \r
9 \r
10 !IFNDEF O\r
11 !IFDEF CPU\r
12 O=$(CPU)\r
13 !ELSE\r
14 O=O\r
15 !ENDIF\r
16 !ENDIF\r
17 \r
18 !IF "$(CPU)" == "AMD64"\r
19 MY_ML = ml64 -Dx64\r
20 !ELSEIF "$(CPU)" == "ARM"\r
21 MY_ML = armasm\r
22 !ELSE\r
23 MY_ML = ml\r
24 !ENDIF\r
25 \r
26 \r
27 !IFDEF UNDER_CE\r
28 RFLAGS = $(RFLAGS) -dUNDER_CE\r
29 !IFDEF MY_CONSOLE\r
30 LFLAGS = $(LFLAGS) /ENTRY:mainACRTStartup\r
31 !ENDIF\r
32 !ELSE\r
33 !IFNDEF NEW_COMPILER\r
34 LFLAGS = $(LFLAGS) -OPT:NOWIN98\r
35 !ENDIF\r
36 CFLAGS = $(CFLAGS) -Gr\r
37 LIBS = $(LIBS) user32.lib advapi32.lib shell32.lib\r
38 !ENDIF\r
39 \r
40 !IF "$(CPU)" == "ARM"\r
41 COMPL_ASM = $(MY_ML) $** $O/$(*B).obj\r
42 !ELSE\r
43 COMPL_ASM = $(MY_ML) -c -Fo$O/ $**\r
44 !ENDIF\r
45 \r
46 CFLAGS = $(CFLAGS) -nologo -c -Fo$O/ -WX -EHsc -Gy -GR-\r
47 \r
48 !IFDEF MY_STATIC_LINK\r
49 !IFNDEF MY_SINGLE_THREAD\r
50 CFLAGS = $(CFLAGS) -MT\r
51 !ENDIF\r
52 !ELSE\r
53 CFLAGS = $(CFLAGS) -MD\r
54 !ENDIF\r
55 \r
56 !IFDEF NEW_COMPILER\r
57 CFLAGS = $(CFLAGS) -W4 -GS- -Zc:forScope\r
58 !ELSE\r
59 CFLAGS = $(CFLAGS) -W3\r
60 !ENDIF\r
61 \r
62 CFLAGS_O1 = $(CFLAGS) -O1\r
63 CFLAGS_O2 = $(CFLAGS) -O2\r
64 \r
65 LFLAGS = $(LFLAGS) -nologo -OPT:REF -OPT:ICF\r
66 \r
67 !IFDEF DEF_FILE\r
68 LFLAGS = $(LFLAGS) -DLL -DEF:$(DEF_FILE)\r
69 !ENDIF\r
70 \r
71 PROGPATH = $O\$(PROG)\r
72 \r
73 COMPL_O1   = $(CC) $(CFLAGS_O1) $**\r
74 COMPL_O2   = $(CC) $(CFLAGS_O2) $**\r
75 COMPL_PCH  = $(CC) $(CFLAGS_O1) -Yc"StdAfx.h" -Fp$O/a.pch $**\r
76 COMPL      = $(CC) $(CFLAGS_O1) -Yu"StdAfx.h" -Fp$O/a.pch $**\r
77 \r
78 all: $(PROGPATH)\r
79 \r
80 clean:\r
81         -del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch\r
82 \r
83 $O:\r
84         if not exist "$O" mkdir "$O"\r
85 \r
86 $(PROGPATH): $O $(OBJS) $(DEF_FILE)\r
87         link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS)\r
88 \r
89 !IFNDEF NO_DEFAULT_RES\r
90 $O\resource.res: $(*B).rc\r
91         rc $(RFLAGS) -fo$@ $**\r
92 !ENDIF\r
93 $O\StdAfx.obj: $(*B).cpp\r
94         $(COMPL_PCH)\r