annotate PC/make_nt.in @ 5817:48b94de85bf3 legacy-trunk

Extensive changes by AMK.
author Guido van Rossum <guido@python.org>
date Thu, 17 Jul 1997 16:29:42 +0000
parents 1c00640069f8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4208
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
1
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 !include <ntwin32.mak> # bring in platform specific stuff.
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
3
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 #Fix a problem with ntwin32.mak and Visual C++
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 # problem is .mak defines "link=link32" and "lib=lib32"
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 # Problem is MSVC linker/library manager use these environment
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 # variables as additional flags to link/lib
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 # Consequently, link warns "link32.obj not found" and similarly lib.
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 # This has really p___ed me of. It has been very hard to get right.
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 # The LIB variable is used by MSVC to locate system library files, and
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 # damn ntwin32.mak sets lib. Now although NMAKE is case sensitive, the OS'
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 # environment vars arent. Therefore /E option _must_ be specified for MSVC
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 # nmake itself is also very average :-(
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 #
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
15
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 # Damn it. Even with .pyd in the suffixes, nmake wont infer a line
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 # mymodule.dll:
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 # and run up the .c->.obj, .obj->.pyd. And with all debug turned on, all
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 # it says is "dont know how to make .." Damn it (probably me, but I gave up:)
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 #.SUFFIXES :
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 #.SUFFIXES : .exe .dll .obj .asm .c .cpp .cxx .bas .cbl .for .pas .res .rc
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 # Version information.
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 pyversion=140
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 pypatchlevel=b1
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
26
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 pythondllext=pyd
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 linker=$(link)
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 libmgr=$(implib)
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 LINK=
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
31
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 #cdebug = -Z7 -Od # Z7 for win32s debugging
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
33
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 #
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 # Additional common definitions
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
36 #
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
37 cinclude=/I$(pythondir)\Include
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 python_dll=Py$(pyversion)-$(pypatchlevel).dll
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 python_defs_lib=$(pythondir)\Modules\Python.lib
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
40 python_defs_exp=$(pythondir)\Modules\Python.exp
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
41 pythonopts=/DHAVE_CONFIG_H /nologo /MD /G3
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
42
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 #!IFDEF MSVC
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 # Although this is handled, it generates warning. This is to avoid them
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
45 #cc=cl
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 #linker=link
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
47 #libmgr=lib
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
48 #!ENDIF
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
49
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 !IFNDEF NODEBUG
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 ldebug = -debug:full -debugtype:both
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 !ENDIF
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
53
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 !ifndef BUILD_DL
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 cdl=/DUSE_DL_EXPORT /DWIN32_PATCH_LEVEL=\"$(pyversion)-$(pypatchlevel)\"
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
56
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 .c.obj:
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
58 @$(cc) $(cflags) $(ccustom) $(cdebug) $(cinclude) $(pythonopts) $(cdl) $*.c
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
59 !else
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
60 #
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 # Useful stuff for building DL modules under NT.
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 #
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
63
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 cdl=/DUSE_DL_IMPORT
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
65
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
66 #if you have a .DEF file, define HAVE_DEF
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
67 # if you dont want precompiled headers, define PCH=0 (in your makefile, not here!)
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
68 !ifndef PCH
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
69 PCH=1
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 !endif
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
71 !if "$(PCH)"=="1"
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
72 cpch=/YX
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
73 !else
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 cpch=
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
75 !endif
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
76
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
77 !ifdef HAVE_DEF
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
78 export_statements=/DEF:$*.def
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
79 !else
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
80 export_statements=/EXPORT:init$(*:module=)
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
81 !endif
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
82 # Note for 'C', I use /Tp, to force as CPP - this will allow .C to define types.
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
83 .c.obj:
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
84 @echo Warning - compiling as C++ file
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
85 @$(cc) $(cdl) $(cflags) $(ccustom) $(cdebug) $(cinclude) $(cpch) $(pythonopts) /DUSE_DL_IMPORT /Tp $*.c
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
86
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
87 .cpp.obj:
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
88 @$(cc) $(cdl) $(cflags) $(ccustom) $(cdebug) $(cinclude) $(cpch) $(pythonopts) /DUSE_DL_IMPORT $*.cpp
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
89
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
90 .obj.$(pythondllext):
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
91 @link -dll -out:$*.$(pythondllext) $*.obj $(ldebug) $(export_statements) $(guilibsdll) $(lcustom) $(python_defs_lib)
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
92
1c00640069f8 Include file for users of Mark's build procedure
Guido van Rossum <guido@python.org>
parents:
diff changeset
93 !endif # !BUILD_DL