blob: 1223c5765dc6626cf70162cfbdc68fb9ed72be3c [file] [log] [blame]
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +00001
2 VNCTOP = $(TOP)/..
3 VNCLIBS = VncExtLibs
Peter Åstrand1029ea32005-02-10 13:48:58 +00004 VNCINCLUDE = -I$(VNCTOP) -I$(VNCTOP)/vncconfig_unix
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +00005
Constantin Kaplinsky95f6f7a2006-04-17 04:17:23 +00006#if defined(XFree86Version) && XFree86Version < 4000
7 VNCDEFINES = -DNO_INIT_BACKING_STORE
8#endif
9
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000010#define CplusplusSource
11
12#include <Server.tmpl>
13
Peter Åstrand1402f8c2005-02-23 08:22:10 +000014#if HasShm
15SHMDEF = -DHAS_SHM
16#endif
17
18XCOMM add more architectures here as we discover them
19#if defined(HPArchitecture) || \
20 (defined(SparcArchitecture) && !defined(LynxOSArchitecture)) || \
21 SystemV4 || \
22 defined(OSF1Architecture) || \
23 defined(i386BsdArchitecture) || \
24 defined(LinuxArchitecture) || \
25 defined(DarwinArchitecture)
26MMAPDEF = -DHAS_MMAP
27#endif
28
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000029#ifdef XVendorString
30VENDORSTRING = XVendorString
31#else
32VENDORSTRING = "unknown"
33#endif
34
35#ifdef XVendorRelease
36VENDORRELEASE = XVendorRelease
37#else
38VENDORRELEASE = 0
39#endif
40
41 VENDOR_STRING = -DVENDOR_STRING=\"$(VENDORSTRING)\"
42 VENDOR_RELEASE = -DVENDOR_RELEASE="$(VENDORRELEASE)"
43
44#ifdef OS2Architecture
45SRCS1 = os2_stubs.c
46OBJS1 = os2_stubs.o
47#endif
48
Peter Åstrand1bdab802005-02-14 14:03:35 +000049FBINCLUDE = -I../../fb
50
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000051SRCSA = xvnc.cc stubs.c $(SRCS1) miinitext.c $(SRCS2)
52
53OBJSA = xvnc.o stubs.o $(OBJS1) miinitext.o $(OBJS2)
54
55INCLUDES = -I. -I.. -I$(XBUILDINCDIR) -I$(FONTINCSRC) \
Peter Åstrand1bdab802005-02-14 14:03:35 +000056 $(FBINCLUDE) -I../../mfb -I../../mi -I../../include -I../../os \
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000057 -I$(EXTINCSRC) -I$(XINCLUDESRC) -I$(SERVERSRC)/render $(VNCINCLUDE)
58
Peter Åstrand1bdab802005-02-14 14:03:35 +000059DEFINES = $(OS_DEFINES) $(SHMDEF) $(MMAPDEF) $(FB_DEFINES) \
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000060 $(VENDOR_STRING) $(VENDOR_RELEASE) $(STD_DEFINES) ServerOSDefines \
Constantin Kaplinsky95f6f7a2006-04-17 04:17:23 +000061 $(VNCDEFINES) -UXFree86LOADER
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000062
Peter Åstrandb7ad8b62006-05-24 11:05:26 +000063#if defined(XFree86Version) || defined(XorgVersion)
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000064/*
65 * Make sure XINPUT, XF86VidTune, etc arent defined for the miinitext.o
66 * used by Xvnc
67 */
Peter Åstrandb7ad8b62006-05-24 11:05:26 +000068EXT_DEFINES = ExtensionDefines -UXF86VIDMODE -UXFreeXDGA -UXF86MISC -UXF86DRI
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000069#endif
70
71
72SRCS = $(SRCSA) $(SRCSB) $(SRCSC)
73OBJS = $(OBJSA) $(OBJSB) $(OBJSC)
74
75NormalLibraryObjectRule()
76NormalLibraryTarget(xvnc,$(OBJS) buildtime.o)
77
78#ifdef OS2Architecture
79LinkSourceFile(os2_stubs.c,../xfree86/os-support/os2)
80SpecialCObjectRule(os2_stubs,$(ICONFIGFILES),-DOS2NULLSELECT)
81#endif
82
83#ifdef HasGcc
84NO_OPERATOR_NAMES = -fno-operator-names
85#endif
86LinkSourceFile(stubs.c,../../Xi)
87SpecialCplusplusObjectRule(xvnc,$(ICONFIGFILES) xvnc,$(EXT_DEFINES) $(NO_OPERATOR_NAMES))
88
89LinkSourceFile(miinitext.c,$(SERVERSRC)/mi)
Constantin Kaplinsky95f6f7a2006-04-17 04:17:23 +000090SpecialCObjectRule(miinitext,$(ICONFIGFILES),$(EXT_DEFINES) $(PAN_DEFINES) -DNO_MODULE_EXTS $(EXT_MODULE_DEFINES) -UXFree86LOADER)
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000091
92/* InstallManPage(Xvfb,$(MANDIR)) */
93DependTarget()
94
95buildtime.o: $(OBJS) ../LibraryTargetName(vnc) $(VNCLIBS)