aboutsummaryrefslogtreecommitdiff
path: root/makefile.before
blob: 5713a47c4f06aebc86a690c4c04055579655adb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
ifndef DEBUG
DEBUG=0
endif
ifndef MAKESERVER
MAKESERVER=0
endif

default: all
.PHONY : default

#define some gnu make functions used in conditional compilation
EQ =$(if $(subst $(1)_,,$(2)_),0,1)
NE =$(if $(subst $(1)_,,$(2)_),1,0)
OR =$(subst 10,1,$(findstring 1,$(1))0)
AND=$(subst 01,0,$(findstring 0,$(1))1)
NOT=$(if $(findstring 0,$(1)),1,0)

CC        ?= cl /nologo
CPP       ?= $(CC)
CCFLAGS   += -c -GF #-Wall

#CCFLAGS   += -wd4996 -wd4738
LINK      ?= link /nologo
LINKFLAGS += /INCREMENTAL:NO /MACHINE:X86
AR        ?= lib /nologo
RC        ?= rc
RCFLAGS   ?= /l 0x409

SKIPHEADERS=string map stdlib.h stddef.h string.h stdio.h windows.h stdarg.h

ifeq ($(MAKESERVER),1)
OBJDIRPREFIX=serv
DEFINES += XKB_IN_SERVER XFree86Server HAVE_DIX_CONFIG_H 
else
DEFINES += XKB
endif

ifeq ($(NORELDBG),1)
# This all is here to avoid unnecessary rebuilds when switching between release and debug and MAKESERVER
OBJDIR?=obj
OBJDIRPREFIX=noreldbg
DEBUG=0
MAKESERVER=0
endif

ifeq ($(DEBUG),1)
CCFLAGS   += -MDd -RTCc -RTC1 -Od -GS -GR -Zi
LINKFLAGS += /DEBUG
OBJDIR ?= obj\$(OBJDIRPREFIX)debug
DEFINES += _DEBUG DEBUG
RCFLAGS += -d "_DEBUG"
else
CCFLAGS   += -MD -O2 -Ob2 -Oi -Ox -Oy -Ot -Zi
DEFINES   +=  NDEBUG
LINKFLAGS += /OPT:REF /OPT:ICF /DEBUG
OBJDIR ?= obj\$(OBJDIRPREFIX)release
RCFLAGS += -d "NDEBUG"
endif



DEFINES += WIN32 _WIN32 _WINDOWS WINDOWS _MBCS __i386__ __MINGW32__ OPEN_MAX=256 PATH_MAX=256 _TIMEVAL_DEFINED mode_t=int __STDC__ X_LOCALE
DEFINES += FAKEIT HAVE_CONFIG_H _BSD_SOURCE

TOPSRCDIR=$(MHMAKECONF)\xorg-server

INCLUDES += . $(MHMAKECONF)\openssl\inc32 $(MHMAKECONF) $(MHMAKECONF)\pixman-1 $(MHMAKECONF)\pthreads
INCLUDES += $(TOPSRCDIR)\include $(TOPSRCDIR)\mi $(TOPSRCDIR)\mfb $(TOPSRCDIR)\hw\xfree86\common $(TOPSRCDIR)\render $(TOPSRCDIR)\miext\damage
INCLUDES += $(TOPSRCDIR)\damageext $(TOPSRCDIR)\randr $(TOPSRCDIR)\xfixes $(TOPSRCDIR)\Xi $(TOPSRCDIR)\fb $(TOPSRCDIR)\miext\cw
INCLUDES += $(TOPSRCDIR)\miext\shadow $(MHMAKECONF)\zlib
INCLUDES += $(MHMAKECONF)\include $(TOPSRCDIR)\Xext $(MHMAKECONF)\pixman\pixman

SYSTEMLIBS ?= odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib \
              oleaut32.lib uuid.lib odbc32.lib odbccp32.lib setupapi.lib winmm.lib ws2_32.lib wmcodecdspuuid.lib comctl32.lib

CPPFLAGS ?= $(CCFLAGS) -EHa

BDFTOPCF=$(MHMAKECONF)\bdftopcf\$(OBJDIR)\bdftopcf.exe
MKFONTSCALE=$(MHMAKECONF)\mkfontscale\$(OBJDIR)\mkfontscale.exe

all: $(OBJDIR)