source: trunk/src/kernel32/makefile@ 4503

Last change on this file since 4503 was 4502, checked in by sandervl, 25 years ago

basic support for VIO console command line apps added + FormatMessage addition

File size: 4.5 KB
Line 
1# $Id: makefile,v 1.104 2000-10-20 11:46:47 sandervl Exp $
2
3#
4# Odin32 API
5#
6# kernel32.dll makefile
7#
8
9# Directory macros.
10PDWIN32_INCLUDE = ..\..\include
11PDWIN32_LIB = ..\..\lib
12PDWIN32_BIN = ..\..\$(OBJDIR)
13PDWIN32_TOOLS = ..\..\tools\bin
14
15
16# Compiler, tools, and interference rules.
17!include $(PDWIN32_INCLUDE)/pdwin32.mk
18
19
20# Flag overloads and local macros.
21CLEANEXTRAS = kernelrsrc.asm
22
23#CFLAGS = $(CFLAGS) -DDEBUG
24#CXXFLAGS = $(CXXFLAGS) /Fa+
25#LD2FLAGS = /nologo /DE /noe /map /NOD /dbgpack /packcode /packdata /exepack:2
26#CXXFLAGS = $(CXXFLAGS) /Ti+
27
28# Object files. All objects should be prefixed with $(OBJDIR)!
29OBJS = \
30$(OBJDIR)\KERNEL32.OBJ \
31$(OBJDIR)\KOBJECTS.OBJ \
32$(OBJDIR)\CONSOLE.OBJ \
33$(OBJDIR)\CONIN.OBJ \
34$(OBJDIR)\CONBUFFER.OBJ \
35$(OBJDIR)\CONBUFFERVIO.OBJ \
36$(OBJDIR)\CONOUT.OBJ \
37$(OBJDIR)\UNICODE.OBJ \
38$(OBJDIR)\network.OBJ \
39$(OBJDIR)\HMDEVIO.OBJ \
40$(OBJDIR)\profile.obj \
41$(OBJDIR)\THREAD.OBJ \
42$(OBJDIR)\virtual.obj \
43$(OBJDIR)\THUNK.OBJ \
44$(OBJDIR)\OBSOLETE.OBJ \
45$(OBJDIR)\COMM.OBJ \
46$(OBJDIR)\MESSAGE.OBJ \
47$(OBJDIR)\RESOURCE.OBJ \
48$(OBJDIR)\EXCEPTIONS.OBJ \
49$(OBJDIR)\heapshared.obj \
50$(OBJDIR)\cpuhlp.obj \
51$(OBJDIR)\heapcode.obj \
52$(OBJDIR)\LFILE.OBJ \
53$(OBJDIR)\NPIPE.OBJ \
54$(OBJDIR)\oslibdos.obj \
55$(OBJDIR)\oslibmisc.obj \
56$(OBJDIR)\ole2nls.obj \
57$(OBJDIR)\MISC.OBJ \
58$(OBJDIR)\EXCEPTUTIL.OBJ \
59$(OBJDIR)\LANG.OBJ \
60$(OBJDIR)\ICCIO.OBJ \
61$(OBJDIR)\MAP.OBJ \
62$(OBJDIR)\WIN32UTIL.OBJ \
63$(OBJDIR)\heap.OBJ \
64$(OBJDIR)\heapstring.obj \
65$(OBJDIR)\os2heap.OBJ \
66$(OBJDIR)\vmutex.OBJ \
67$(OBJDIR)\vsemaphore.OBJ \
68$(OBJDIR)\initterm.OBJ \
69$(OBJDIR)\handlemanager.OBJ \
70$(OBJDIR)\environ.obj \
71$(OBJDIR)\initsystem.obj \
72$(OBJDIR)\hmdevice.obj \
73$(OBJDIR)\hmopen32.obj \
74$(OBJDIR)\hmobjects.obj \
75$(OBJDIR)\hmevent.obj \
76$(OBJDIR)\hmfile.obj \
77$(OBJDIR)\hmmutex.obj \
78$(OBJDIR)\hmcomm.obj \
79$(OBJDIR)\hmsemaphore.obj \
80$(OBJDIR)\wprocess.OBJ \
81$(OBJDIR)\conprop.OBJ \
82$(OBJDIR)\conprop2.obj \
83$(OBJDIR)\winimagelx.obj \
84$(OBJDIR)\winimagebase.OBJ \
85$(OBJDIR)\windllbase.OBJ \
86$(OBJDIR)\winexebase.OBJ \
87$(OBJDIR)\time.obj \
88$(OBJDIR)\mmap.obj \
89$(OBJDIR)\winimagepe2lx.obj \
90$(OBJDIR)\winimagepeldr.obj \
91$(OBJDIR)\windllpe2lx.obj \
92$(OBJDIR)\windlllx.obj \
93$(OBJDIR)\windllpeldr.obj \
94$(OBJDIR)\winexepe2lx.obj \
95$(OBJDIR)\winexelx.obj \
96$(OBJDIR)\winexepeldr.obj \
97$(OBJDIR)\WINRES.OBJ \
98$(OBJDIR)\critsection.obj \
99$(OBJDIR)\pefile.OBJ \
100$(OBJDIR)\winimgres.OBJ \
101$(OBJDIR)\wintls.obj \
102$(OBJDIR)\async.OBJ \
103$(OBJDIR)\fileio.obj \
104$(OBJDIR)\hmtoken.obj \
105$(OBJDIR)\atom.obj \
106$(OBJDIR)\disk.obj \
107$(OBJDIR)\directory.obj \
108$(OBJDIR)\cvtbitmap.obj \
109$(OBJDIR)\hmmmap.obj \
110$(OBJDIR)\cvtaccel.obj \
111$(OBJDIR)\cvticon.obj \
112$(OBJDIR)\cvticongrp.obj \
113$(OBJDIR)\oslibexcept.obj \
114$(OBJDIR)\cpu.obj \
115$(OBJDIR)\process.obj \
116$(OBJDIR)\cvtcursor.obj \
117$(OBJDIR)\cvtcursorgrp.obj \
118$(OBJDIR)\stubs.obj \
119$(OBJDIR)\interlock.obj \
120$(OBJDIR)\toolhelp.obj \
121$(OBJDIR)\codepage.obj \
122$(OBJDIR)\debug.obj \
123$(OBJDIR)\oslibdebug.obj \
124$(OBJDIR)\dbglocal.obj \
125$(OBJDIR)\registry.obj \
126$(OBJDIR)\queue.obj \
127$(OBJDIR)\hmthread.obj \
128$(OBJDIR)\hmnpipe.obj \
129$(OBJDIR)\hmdisk.obj \
130$(OBJDIR)\version.obj \
131!ifdef DEBUG
132$(OBJDIR)\exceptstackdump.obj \
133!endif
134$(OBJDIR)\kernelrsrc.obj
135
136
137# Target name - name of the dll without extention and path.
138TARGET = kernel32
139
140
141# All rule - build objs, target dll, copies dll to bin and makes libs.
142all: $(OBJDIR) \
143 $(OBJDIR)\$(TARGET).dll \
144 $(PDWIN32_BIN)\$(TARGET).dll \
145 lib
146
147
148# Lib rule - build importlibrary (and evt. other libs)
149lib: $(TARGET).lib $(PDWIN32_LIB)\$(TARGET).lib
150
151
152# Dll rule - builds the target dll.
153$(OBJDIR)\$(TARGET).dll: $(OBJS) $(TARGET).def $(OBJDIR)\$(TARGET).lrf \
154 $(OBJDIR)\console.res
155 $(LD2) $(LD2FLAGS) @$(OBJDIR)\$(TARGET).lrf
156 $(OS2RC) $(OS2RCLFLAGS) $(OBJDIR)\console.res $@
157
158
159# Linker file - creates the parameter file passed on to the linker.
160$(OBJDIR)\$(TARGET).lrf: makefile
161 @echo Creating file <<$(OBJDIR)\$(@B).lrf
162/OUT:$(OBJDIR)\$(TARGET).dll
163/MAP:$(OBJDIR)\$(TARGET).map
164$(OBJS)
165$(PDWIN32_LIB)/$(ODINCRT).lib
166$(PDWIN32_LIB)\PMWINX.LIB
167$(PDWIN32_LIB)\LIBULS.LIB
168$(PDWIN32_LIB)\LIBCONV.LIB
169$(PDWIN32_LIB)\WIN32K.LIB
170OS2386.LIB
171$(RTLLIB_O)
172$(TARGET).def
173<<keep
174
175
176# Dep rule - makes depenencies for C, C++ and Asm files.
177dep:
178 $(DEPEND) -I. -I$(PDWIN32_INCLUDE);$(PDWIN32_INCLUDE)\win \
179 *.c *.cpp *.h *.asm *.inc $(PDWIN32_INCLUDE)\*.h
180
181
182# Includes the common rules.
183!include $(PDWIN32_INCLUDE)/pdwin32.post
184
185
186#override flags for exceptions.cpp
187$(OBJDIR)\exceptions.obj: exceptions.cpp
188 $(CXX) $(CXXFLAGS) -Op- -Fo$(OBJDIR)\$(@B).obj -c exceptions.cpp
Note: See TracBrowser for help on using the repository browser.