Files
MiniGUI/build/rules.msvc
2017-05-29 12:20:05 +08:00

90 lines
1.9 KiB
Plaintext

# Common makefile definitions for building MiniGUI with Microsoft VC
# and GNU Make on Win32 Platform
# Also for nmake makefile.msvc
# Flags that can be set on the nmake command line:
# DLL=1 compiling as a dll
# MCFLAGS={-ML|-MT|-MD} for defining the compilation model
# MCFLAGS=-MD (default) Multi-threaded, dynamically linked - msvcrt.lib
# MCFLAGS=-MT Multi-threaded, statically linked - libcmt.lib
# MCFLAGS=-ML Single-threaded, statically linked - libc.lib
# DEBUG=1 for compiling a debugging version
# PREFIX=Some\Directory Base directory for installation
# CONFIGH=YourConfigHeader for defining the config.h file to use
# LITE=1 for minigui lite version
ifndef DLL
DLL=1
endif
ifndef DEBUG
DEBUG=0
endif
ifndef MCFLAGS
ifeq (0, $(DLL))
MCFLAGS=-MT
else
MCFLAGS=-MD
endif
endif
ifndef PREFIX
PREFIX = c:/usr
endif
ifndef CONFIGH
CONFIGH=build\config-win32.h
endif
# Debug builds shoud link with msvcrtd, release build with msvcrt.
ifeq (0, $(DEBUG))
# Full optimization:
OPTIMIZE = -Ox
CRUNTIME = $(MCFLAGS)
# Line number debug info only
DEBUGINFO = -Zd
LINKDEBUG =
else
# Debugging:
OPTIMIZE =
CRUNTIME = $(MCFLAGS)d
DEBUGINFO = -Zi
LINKDEBUG = /debug
endif
LDFLAGS = /link /machine:ix86 $(LINKDEBUG)
OBJ=obj
######################################################################
# Compiler to use.
AS=
CCOMPILER = cl
CC = $(CCOMPILER) -GF $(CRUNTIME) -W3 -nologo
CXX=$(CC)
CPP=$(CC)
AR=lib
LD=link
RANLIB=echo
MAKE=make
OBJ=obj
LIBA=lib
COFLAG=-c
ARFLAGS=
ARFLAGS_OUT= /out:
######################################################################
# The including makefile should define INCLUDES, DEFINES and
# DEPCFLAGS. INCLUDES are the includes related to the module being
# built. DEFINES similarly.
CFLAGS += -GD -c
######################################################################