VirtualBox

source: kBuild/trunk/src/makefile.os2.icc.mk@ 151

Last change on this file since 151 was 51, checked in by bird, 22 years ago

kMk and porting to kLib.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.5 KB
Line 
1# $Id: makefile.os2.icc.mk 51 2003-04-07 01:30:32Z bird $
2#
3# OS/2 VAC++ v3.08 bootstrap makefile.
4#
5# Copyright (c) 2003 knut st. osmundsen <[email protected]>
6#
7#
8# This file is part of kBuild.
9#
10# kBuild is free software; you can redistribute it and/or modify
11# it under the terms of the GNU General Public License as published by
12# the Free Software Foundation; either version 2 of the License, or
13# (at your option) any later version.
14#
15# kBuild is distributed in the hope that it will be useful,
16# but WITHOUT ANY WARRANTY; without even the implied warranty of
17# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18# GNU General Public License for more details.
19#
20# You should have received a copy of the GNU General Public License
21# along with kBuild; if not, write to the Free Software
22# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23#
24
25
26# misc variables
27MAKEFILE = makefile.os2.icc.mk
28POSTFIX =
29!ifdef DEBUG
30POSTFIX = .dbg
31!endif
32!ifdef PROFILE
33POSTFIX = .prf
34!endif
35OBJDIR = ..\obj\os2-icc-kmk$(POSTFIX)
36
37# paths
38PATH_KLIB = g:\ktaskmgr\tree
39# PATH_TOOLKIT, PATH_VAC308,.. is defined in the environment.
40
41# compiler setup
42CC = icc.exe
43!ifdef DEBUG
44CFLAGS_1 = /O- -DDEBUG
45!endif
46!ifdef PROFILE
47CFLAGS_1 = /O+ /Gh
48!endif
49CFLAGS = /Q /Ti+ /Gm /Ge /Gl /W3 -DOS2 -D__i386__ -DKMK \
50 -I$(PATH_KLIB)\Generic\include \
51 -I$(PATH_KLIB)\Generic\include\kLibCRT \
52 -I$(PATH_TOOLKIT)\h \
53 -I$(PATH_VAC308)\include \
54 $(CFLAGS_1)
55CFLAGS_KMK = -IkMk\include -IkMk -DUSE_KLIB $(CFLAGS) -UDEBUG -DMACHINE=\"ibmos2\" -DMACHINE_ARCH=\"x86\" -DMACHINE_CPU=\"386\" \
56
57# linker setup
58LD = ilink.exe
59STRIP =
60!ifdef DEBUG
61LDFLAGS_1 = /NOEXEPACK
62!endif
63!ifdef PROFILE
64LDFLAGS_1 =
65!endif
66!ifndef LDFLAGS_1 #releas
67LDFLAGS_1 = /Packcode /Packdata
68STRIP = lxlite.exe
69!endif
70LDFLAGS = /NoLogo /NoExtDictionary /Optfunc /Base:0x10000 /Map /Linenumbers /Debug /PmType:vio $(LDFLAGS_1)
71
72
73# inference rules.
74{.}.c{$(OBJDIR)}.obj:
75 $(CC) -c $(CFLAGS) -Fo$(OBJDIR)\$(@F) $(MAKEDIR)\$(<F)
76
77{.\kShell}.c{$(OBJDIR)}.obj:
78 $(CC) -c $(CFLAGS) -Fo$(OBJDIR)\$(@F) $(MAKEDIR)\kShell\$(<F)
79
80{.\kMk}.c{$(OBJDIR)}.obj:
81 $(CC) -c $(CFLAGS_KMK) -Fo$(OBJDIR)\$(@F) $(MAKEDIR)\kMk\$(<F)
82
83{.\kMk\lst.lib}.c{$(OBJDIR)}.obj:
84 $(CC) -c $(CFLAGS_KMK) -Fo$(OBJDIR)\$(@F) $(MAKEDIR)\kMk\lst.lib\$(<F)
85
86
87# object files
88OBJS_KSHELL = \
89$(OBJDIR)\kShell.obj
90
91OBJS_KMK = \
92#$(OBJDIR)\arch.obj\
93$(OBJDIR)\buf.obj\
94$(OBJDIR)\compat.obj\
95$(OBJDIR)\cond.obj\
96$(OBJDIR)\dir.obj\
97$(OBJDIR)\for.obj\
98$(OBJDIR)\hash.obj\
99$(OBJDIR)\job.obj\
100$(OBJDIR)\main.obj\
101$(OBJDIR)\make.obj\
102$(OBJDIR)\parse.obj\
103$(OBJDIR)\str.obj\
104$(OBJDIR)\suff.obj\
105$(OBJDIR)\targ.obj\
106$(OBJDIR)\var.obj\
107$(OBJDIR)\util.obj\
108$(OBJDIR)\helpers.obj\
109\
110$(OBJDIR)\lstAppend.obj \
111$(OBJDIR)\lstAtEnd.obj \
112$(OBJDIR)\lstAtFront.obj \
113$(OBJDIR)\lstClose.obj \
114$(OBJDIR)\lstConcat.obj \
115$(OBJDIR)\lstDatum.obj \
116$(OBJDIR)\lstDeQueue.obj \
117$(OBJDIR)\lstDestroy.obj \
118$(OBJDIR)\lstDupl.obj \
119$(OBJDIR)\lstEnQueue.obj \
120$(OBJDIR)\lstFind.obj \
121$(OBJDIR)\lstFindFrom.obj \
122$(OBJDIR)\lstFirst.obj \
123$(OBJDIR)\lstForEach.obj \
124$(OBJDIR)\lstForEachFrom.obj \
125$(OBJDIR)\lstInit.obj \
126$(OBJDIR)\lstInsert.obj \
127$(OBJDIR)\lstIsAtEnd.obj \
128$(OBJDIR)\lstIsEmpty.obj \
129$(OBJDIR)\lstLast.obj \
130$(OBJDIR)\lstMember.obj \
131$(OBJDIR)\lstNext.obj \
132$(OBJDIR)\lstOpen.obj \
133$(OBJDIR)\lstRemove.obj \
134$(OBJDIR)\lstReplace.obj \
135$(OBJDIR)\lstSucc.obj
136
137OBJS_KDEPEND = \
138$(OBJDIR)\fastdep.obj
139
140# sum objs.
141OBJS = $(OBJDIR)\mainmain.obj $(OBJS_KSHELL) $(OBJS_KMK) #$(OBJS_KDEPEND)
142
143
144# libs
145LIBS = \
146!ifdef DEBUG
147$(PATH_KLIB)\lib\debug\kLib.lib \
148!else
149$(PATH_KLIB)\lib\debug\kLib.lib \
150!ifdef PROFILE
151$(PATH_KLIB)\lib\debug\kProfile.lib \
152!endif
153!endif
154$(PATH_TOOLKIT)\lib\os2386.lib \
155$(PATH_VAC308)\lib\cppom30.lib \
156
157
158# the rules
159all: $(OBJDIR) $(OBJDIR)\kMk.exe
160
161
162$(OBJDIR):
163 -if not exist ..\obj mkdir ..\obj
164 -if not exist $(OBJDIR) mkdir $(OBJDIR)
165
166$(OBJDIR)\kMk.exe: $(OBJS)
167 $(LD) $(LDFLAGS) @<<$(OBJDIR)\$(@F).lnk
168/OUT:$(OBJDIR)\$(@F).exe
169/MAP:$(OBJDIR)\$(@F).map
170$(OBJS)
171$(LIBS)
172<<KEEP
173!if "$(STRIP)" != ""
174 copy $(OBJDIR)\kMk.exe $(OBJDIR)\kMk.dbg
175 $(STRIP) $(OBJDIR)\kMk.exe
176!endif
177
178
179clean:
180!if "$(OBJDIR)" != "" && "$(OBJDIR)" != "\"
181!if "$(COMSPEC:CMD.EXE=sure)" != "$(COMSPEC)"
182 -del /N $(OBJDIR)\*
183!else # assume 4os2
184 -del /Y /E $(OBJDIR)\*
185!endif
186!endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette