1# Copyright (C) 2001-2019 Artifex Software, Inc.
2# All Rights Reserved.
3#
4# This software is provided AS-IS with no warranty, either express or
5# implied.
6#
7# This software is distributed under license and may not be copied,
8# modified or distributed except as expressly authorized under the terms
9# of the license contained in the file LICENSE in this distribution.
10#
11# Refer to licensing information at http://www.artifex.com or contact
12# Artifex Software, Inc.,  1305 Grant Avenue - Suite 200, Novato,
13# CA 94945, U.S.A., +1(415)492-9861, for further information.
14#
15# Common makefile section for builds on 32-bit MS Windows, including the
16# Watcom MS-DOS build.
17
18# Define the name of this makefile.
19WINPLAT_MAK=$(GLSRC)winplat.mak $(TOP_MAKEFILES)
20
21GLCCWINXPSPRINT=$(CC_WX) $(XPSPRINTCFLAGS) $(CCWINFLAGS) $(I_)$(GLI_)$(_I) $(GLF_)
22
23# Define generic Windows-specific modules.
24
25winplatcommon_=$(GLOBJ)gp_ntfs.$(OBJ) $(GLOBJ)gp_win32.$(OBJ)
26
27winplat_=$(winplatcommon_) $(GLOBJ)gp_nxpsprn.$(OBJ)
28winplatxpsprint_=$(winplatcommon_) $(GLOBJ)gp_wxpsprn.$(OBJ)
29
30$(GLD)winplat0.dev : $(WINPLAT_MAK) $(ECHOGS_XE) $(winplat_) $(WINPLAT_MAK)
31	$(SETMOD) $(GLD)winplat0 $(winplat_)
32
33$(GLD)winplat1.dev : $(WINPLAT_MAK) $(ECHOGS_XE) $(winplatxpsprint_) $(WINPLAT_MAK)
34	$(SETMOD) $(GLD)winplat1 $(winplatxpsprint_)
35
36$(GLD)winplat.dev : $(GLD)winplat$(XPSPRINT).dev
37	$(CP_) $(GLD)winplat$(XPSPRINT).dev $(GLD)winplat.dev
38
39$(GLOBJ)gp_ntfs.$(OBJ): $(GLSRC)gp_ntfs.c $(AK)\
40 $(dos__h) $(memory__h) $(stdio__h) $(string__h) $(windows__h)\
41 $(gp_h) $(gpmisc_h) $(gsmemory_h) $(gsstruct_h) $(gstypes_h) $(gsutil_h) \
42 $(WINPLAT_MAK)
43	$(GLCCWIN) $(GLO_)gp_ntfs.$(OBJ) $(C_) $(GLSRC)gp_ntfs.c
44
45$(AUX)gp_ntfs.$(OBJ): $(GLSRC)gp_ntfs.c $(AK)\
46 $(dos__h) $(memory__h) $(stdio__h) $(string__h) $(windows__h)\
47 $(gp_h) $(gpmisc_h) $(gsmemory_h) $(gsstruct_h) $(gstypes_h) $(gsutil_h) \
48 $(WINPLAT_MAK)
49	$(GLCCAUX) $(AUXO_)gp_ntfs.$(OBJ) $(C_) $(GLSRC)gp_ntfs.c
50
51$(GLOBJ)gp_win32.$(OBJ): $(GLSRC)gp_win32.c $(AK)\
52 $(dos__h) $(malloc__h) $(stdio__h) $(string__h) $(windows__h)\
53 $(gp_h) $(gsmemory_h) $(gstypes_h) $(WINPLAT_MAK)
54	$(GLCCWIN) $(GLO_)gp_win32.$(OBJ) $(C_) $(GLSRC)gp_win32.c
55
56$(AUX)gp_win32.$(OBJ): $(GLSRC)gp_win32.c $(AK)\
57 $(dos__h) $(malloc__h) $(stdio__h) $(string__h) $(windows__h)\
58 $(gp_h) $(gsmemory_h) $(gstypes_h) $(WINPLAT_MAK)
59	$(GLCCAUX) $(AUXO_)gp_win32.$(OBJ) $(C_) $(GLSRC)gp_win32.c
60
61# Define the Windows thread / synchronization module.
62
63winsync_=$(GLOBJ)gp_wsync.$(OBJ)
64$(GLD)winsync.dev : $(WINPLAT_MAK) $(ECHOGS_XE) $(winsync_) $(WINPLAT_MAK)
65	$(SETMOD) $(GLD)winsync $(winsync_)
66	$(ADDMOD) $(GLD)winsync -replace $(GLD)nosync
67
68$(GLOBJ)gp_wsync.$(OBJ): $(GLSRC)gp_wsync.c $(AK)\
69 $(dos__h) $(malloc__h) $(stdio__h) $(string__h) $(windows__h)\
70 $(gp_h) $(gsmemory_h) $(gstypes_h) $(WINPLAT_MAK)
71	$(GLCCWIN) $(GLO_)gp_wsync.$(OBJ) $(C_) $(GLSRC)gp_wsync.c
72
73# The XPS printer
74$(GLOBJ)gp_wxpsprn.$(OBJ): $(GLSRC)gp_wxpsprn.cpp $(windows__h) $(string__h) \
75 $(gx_h) $(gserrors_h) $(WINLIB_MAK)
76	$(GLCCWINXPSPRINT) $(GLO_)gp_wxpsprn.$(OBJ) $(C_) $(GLSRC)gp_wxpsprn.cpp
77
78