Home | History | Annotate | Download | only in CPP
      1 LIBS = $(LIBS) oleaut32.lib ole32.lib
      2 
      3 !IFNDEF MY_NO_UNICODE
      4 CFLAGS = $(CFLAGS) -DUNICODE -D_UNICODE
      5 !ENDIF
      6 
      7 # CFLAGS = $(CFLAGS) -FAsc -Fa$O/Asm/
      8 
      9 !IFNDEF O
     10 !IFDEF CPU
     11 O=$(CPU)
     12 !ELSE
     13 O=O
     14 !ENDIF
     15 !ENDIF
     16 
     17 !IF "$(CPU)" == "AMD64"
     18 MY_ML = ml64 -Dx64
     19 !ELSEIF "$(CPU)" == "ARM"
     20 MY_ML = armasm
     21 !ELSE
     22 MY_ML = ml
     23 !ENDIF
     24 
     25 
     26 !IFDEF UNDER_CE
     27 RFLAGS = $(RFLAGS) -dUNDER_CE
     28 !IFDEF MY_CONSOLE
     29 LFLAGS = $(LFLAGS) /ENTRY:mainACRTStartup
     30 !ENDIF
     31 !ELSE
     32 !IFNDEF NEW_COMPILER
     33 LFLAGS = $(LFLAGS) -OPT:NOWIN98
     34 !ENDIF
     35 CFLAGS = $(CFLAGS) -Gr
     36 LIBS = $(LIBS) user32.lib advapi32.lib shell32.lib
     37 !ENDIF
     38 
     39 !IF "$(CPU)" == "ARM"
     40 COMPL_ASM = $(MY_ML) $** $O/$(*B).obj
     41 !ELSE
     42 COMPL_ASM = $(MY_ML) -c -Fo$O/ $**
     43 !ENDIF
     44 
     45 CFLAGS = $(CFLAGS) -nologo -c -Fo$O/ -W4 -WX -EHsc -Gy -GR- -GF
     46 
     47 !IFDEF MY_STATIC_LINK
     48 !IFNDEF MY_SINGLE_THREAD
     49 CFLAGS = $(CFLAGS) -MT
     50 !ENDIF
     51 !ELSE
     52 CFLAGS = $(CFLAGS) -MD
     53 !ENDIF
     54 
     55 !IFDEF NEW_COMPILER
     56 CFLAGS = $(CFLAGS) -GS- -Zc:forScope
     57 !IFNDEF UNDER_CE
     58 CFLAGS = $(CFLAGS) -MP2
     59 !ENDIF
     60 !ELSE
     61 CFLAGS = $(CFLAGS)
     62 !ENDIF
     63 
     64 CFLAGS_O1 = $(CFLAGS) -O1
     65 CFLAGS_O2 = $(CFLAGS) -O2
     66 
     67 LFLAGS = $(LFLAGS) -nologo -OPT:REF -OPT:ICF
     68 
     69 !IFNDEF UNDER_CE
     70 LFLAGS = $(LFLAGS) /LARGEADDRESSAWARE
     71 !ENDIF
     72 
     73 !IFDEF DEF_FILE
     74 LFLAGS = $(LFLAGS) -DLL -DEF:$(DEF_FILE)
     75 !ENDIF
     76 
     77 MY_SUB_SYS_VER=6.0
     78 !IFDEF MY_CONSOLE
     79 # LFLAGS = $(LFLAGS) /SUBSYSTEM:console,$(MY_SUB_SYS_VER)
     80 !ELSE
     81 # LFLAGS = $(LFLAGS) /SUBSYSTEM:windows,$(MY_SUB_SYS_VER)
     82 !ENDIF
     83 
     84 PROGPATH = $O\$(PROG)
     85 
     86 COMPL_O1   = $(CC) $(CFLAGS_O1) $**
     87 COMPL_O2   = $(CC) $(CFLAGS_O2) $**
     88 COMPL_PCH  = $(CC) $(CFLAGS_O1) -Yc"StdAfx.h" -Fp$O/a.pch $**
     89 COMPL      = $(CC) $(CFLAGS_O1) -Yu"StdAfx.h" -Fp$O/a.pch $**
     90 
     91 COMPLB    = $(CC) $(CFLAGS_O1) -Yu"StdAfx.h" -Fp$O/a.pch $<
     92 # COMPLB_O2 = $(CC) $(CFLAGS_O2) -Yu"StdAfx.h" -Fp$O/a.pch $<
     93 COMPLB_O2 = $(CC) $(CFLAGS_O2) $<
     94 
     95 CCOMPL_PCH  = $(CC) $(CFLAGS_O2) -Yc"Precomp.h" -Fp$O/a.pch $**
     96 CCOMPL_USE  = $(CC) $(CFLAGS_O2) -Yu"Precomp.h" -Fp$O/a.pch $**
     97 CCOMPL      = $(CC) $(CFLAGS_O2) $**
     98 CCOMPLB     = $(CC) $(CFLAGS_O2) $<
     99 
    100 
    101 all: $(PROGPATH)
    102 
    103 clean:
    104 	-del /Q $(PROGPATH) $O\*.exe $O\*.dll $O\*.obj $O\*.lib $O\*.exp $O\*.res $O\*.pch $O\*.asm
    105 
    106 $O:
    107 	if not exist "$O" mkdir "$O"
    108 $O/Asm:
    109 	if not exist "$O/Asm" mkdir "$O/Asm"
    110 
    111 $(PROGPATH): $O $O/Asm $(OBJS) $(DEF_FILE)
    112 	link $(LFLAGS) -out:$(PROGPATH) $(OBJS) $(LIBS)
    113 
    114 !IFNDEF NO_DEFAULT_RES
    115 $O\resource.res: $(*B).rc
    116 	rc $(RFLAGS) -fo$@ $**
    117 !ENDIF
    118 $O\StdAfx.obj: $(*B).cpp
    119 	$(COMPL_PCH)
    120