source: branches/libc-0.6/testcase/456/common.gmk@ 2800

Last change on this file since 2800 was 1405, checked in by bird, 21 years ago

make bin too.

  • Property cvs2svn:cvs-rev set to 1.11
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 4.6 KB
Line 
1# $Id: common.gmk 1405 2004-04-30 00:57:13Z bird $
2#
3# common makefile stuff for the defect 456 (Stabs -> HLL)
4#
5# Assumes TARGET is set.
6#
7
8
9
10ifndef PATH_TARGET
11PATH_TARGET = bin
12endif
13ifndef TARGET_SRCEXT
14TARGET_SRCEXT = c
15endif
16ifndef TARGET2_SRCEXT
17TARGET2_SRCEXT = c
18endif
19ifndef TARGET_SOURCE
20TARGET_SOURCE = $(TARGET).$(TARGET_SRCEXT)
21endif
22ifndef TARGET2_SOURCE
23TARGET2_SOURCE = $(TARGET2).$(TARGET2_SRCEXT)
24endif
25
26ifndef EMXOMF
27EMXOMF = emxomf.exe
28else
29EMXOMF_DEP = $(EMXOMF)
30endif
31
32ifndef LISTOMF
33LISTOMF = listomf.exe
34else
35LISTOMF_DEP = $(LISTOMF)
36endif
37
38ifndef GCC
39GCC = gcc
40endif
41ifndef GXX
42GXX = g++
43endif
44
45
46ifndef NOLINKING
47TARGET_LINKED_VAC = $(PATH_TARGET)/$(TARGET).vac.exe \
48 $(PATH_TARGET)/$(TARGET).vac.dump \
49 $(PATH_TARGET)/$(TARGET).vac.hlldump
50TARGET_LINKED_GCC = $(PATH_TARGET)/$(TARGET).gcc.exe \
51 $(PATH_TARGET)/$(TARGET).gcc.dump \
52 $(PATH_TARGET)/$(TARGET).gcc.hlldump
53endif
54
55ifdef TARGET2
56TARGET2_VAC = $(PATH_TARGET)/$(TARGET2).vac.obj \
57 $(PATH_TARGET)/$(TARGET2).vac.lst
58TARGET2_GCC = $(PATH_TARGET)/$(TARGET2).gcc.s \
59 $(PATH_TARGET)/$(TARGET2).gcc.o \
60 $(PATH_TARGET)/$(TARGET2).gcc.obj \
61 $(PATH_TARGET)/$(TARGET2).gcc.lst
62
63TARGET2_LINK_VAC = $(PATH_TARGET)/$(TARGET2).vac.obj
64TARGET2_LINK_GCC = $(PATH_TARGET)/$(TARGET2).gcc.obj
65endif
66
67.SUFFIXES:
68.SUFFIXES:
69
70
71all: $(TARGET)
72
73
74$(TARGET): $(PATH_TARGET) vac gcc
75
76$(PATH_TARGET):
77 mkdir -p $(PATH_TARGET)
78
79vac: \
80 $(PATH_TARGET)/$(TARGET).vac.obj \
81 $(PATH_TARGET)/$(TARGET).vac.lst \
82 $(TARGET2_VAC) \
83 $(TARGET_LINKED_VAC)
84
85gcc: \
86 $(PATH_TARGET)/$(TARGET).gcc.s \
87 $(PATH_TARGET)/$(TARGET).gcc.o \
88 $(PATH_TARGET)/$(TARGET).gcc.obj \
89 $(PATH_TARGET)/$(TARGET).gcc.lst \
90 $(TARGET2_GCC) \
91 $(TARGET_LINKED_GCC)
92
93
94
95$(PATH_TARGET)/$(TARGET).vac.hlldump: $(PATH_TARGET)/$(TARGET).vac.exe
96 -hlldump $< > $@
97
98$(PATH_TARGET)/$(TARGET).gcc.hlldump: $(PATH_TARGET)/$(TARGET).gcc.exe
99 -hlldump $< > $@
100
101
102
103$(PATH_TARGET)/$(TARGET).vac.dump: $(PATH_TARGET)/$(TARGET).vac.exe
104 rdrdump $< > $@
105
106$(PATH_TARGET)/$(TARGET).gcc.dump: $(PATH_TARGET)/$(TARGET).gcc.exe
107 rdrdump $< > $@
108
109
110
111$(PATH_TARGET)/$(TARGET).vac.exe: $(PATH_TARGET)/$(TARGET).vac.obj $(TARGET2_LINK_VAC)
112 icc -Ti+ /Fm$(PATH_TARGET)/$(TARGET).vac.map /B/LINENUMBERS /B/DBGPACK -Fe$@ $< $(TARGET2_LINK_VAC)
113
114$(PATH_TARGET)/$(TARGET).gcc.exe: $(PATH_TARGET)/$(TARGET).gcc.obj $(TARGET2_LINK_GCC)
115ifeq "$(TARGET_SRCEXT)" ".c"
116 if $(GCC) -g -Zomf -Zcrtdll -Zmap=$(PATH_TARGET)/$(TARGET).gcc.map -o $@ -Zlinker "/LINENUMBERS /MAP:FULL /PM:VIO" $< $(TARGET2_LINK_GCC); then true; else rm -f $@; false; fi
117else
118 if $(GXX) -g -Zomf -Zcrtdll -Zmap=$(PATH_TARGET)/$(TARGET).gcc.map -o $@ -Zlinker "/LINENUMBERS /MAP:FULL /PM:VIO" $< $(TARGET2_LINK_GCC); then true; else rm -f $@; false; fi
119endif
120
121
122$(PATH_TARGET)/$(TARGET).vac.obj: $(TARGET_SOURCE)
123 icc -c -Gd -Ti+ -Fo$@ $<
124$(PATH_TARGET)/$(TARGET2).vac.obj: $(TARGET2_SOURCE)
125 icc -c -Gd -Ti+ -Fo$@ $<
126
127
128$(PATH_TARGET)/$(TARGET).gcc.obj: $(PATH_TARGET)/$(TARGET).gcc.o $(EMXOMF_DEP)
129 $(EMXOMF) -o $@ $< > $@.emxomf 2>&1
130 cat $@.emxomf
131$(PATH_TARGET)/$(TARGET2).gcc.obj: $(PATH_TARGET)/$(TARGET2).gcc.o $(EMXOMF_DEP)
132 $(EMXOMF) -o $@ $< > $@.emxomf 2>&1
133 cat $@.emxomf
134
135$(PATH_TARGET)/$(TARGET).gcc.o: $(TARGET_SOURCE)
136 $(GCC) -c -g -o $@ $<
137$(PATH_TARGET)/$(TARGET2).gcc.o: $(TARGET2_SOURCE)
138 $(GCC) -c -g -o $@ $<
139
140$(PATH_TARGET)/$(TARGET).gcc.s: $(TARGET_SOURCE)
141 $(GCC) -S -g -o $@ $<
142$(PATH_TARGET)/$(TARGET2).gcc.s: $(TARGET2_SOURCE)
143 $(GCC) -S -g -o $@ $<
144
145
146
147$(PATH_TARGET)/$(TARGET).vac.lst: $(PATH_TARGET)/$(TARGET).vac.obj $(LISTOMF_DEP)
148 -$(LISTOMF) -x $< > $@
149$(PATH_TARGET)/$(TARGET2).vac.lst: $(PATH_TARGET)/$(TARGET2).vac.obj $(LISTOMF_DEP)
150 -$(LISTOMF) -x $< > $@
151
152$(PATH_TARGET)/$(TARGET).gcc.lst: $(PATH_TARGET)/$(TARGET).gcc.obj $(LISTOMF_DEP)
153 -$(LISTOMF) -x $< > $@
154$(PATH_TARGET)/$(TARGET2).gcc.lst: $(PATH_TARGET)/$(TARGET2).gcc.obj $(LISTOMF_DEP)
155 -$(LISTOMF) -x $< > $@
156
157
158clean:
159 rm -f \
160 $(PATH_TARGET)/$(TARGET).vac.obj \
161 $(PATH_TARGET)/$(TARGET).vac.lst \
162 $(PATH_TARGET)/$(TARGET).vac.exe \
163 $(PATH_TARGET)/$(TARGET).vac.map \
164 $(PATH_TARGET)/$(TARGET).vac.dump \
165 $(PATH_TARGET)/$(TARGET).vac.hlldump \
166 $(PATH_TARGET)/$(TARGET).gcc.o \
167 $(PATH_TARGET)/$(TARGET).gcc.s \
168 $(PATH_TARGET)/$(TARGET).gcc.obj \
169 $(PATH_TARGET)/$(TARGET).gcc.lst \
170 $(PATH_TARGET)/$(TARGET).gcc.exe \
171 $(PATH_TARGET)/$(TARGET).gcc.map \
172 $(PATH_TARGET)/$(TARGET).gcc.dump \
173 $(PATH_TARGET)/$(TARGET).gcc.hlldump
174ifdef TARGET2_VAC
175 rm -f \
176 $(PATH_TARGET)/$(TARGET2).gcc.o \
177 $(PATH_TARGET)/$(TARGET2).gcc.s \
178 $(PATH_TARGET)/$(TARGET2).gcc.obj \
179 $(PATH_TARGET)/$(TARGET2).gcc.lst \
180 $(PATH_TARGET)/$(TARGET2).vac.obj \
181 $(PATH_TARGET)/$(TARGET2).vac.lst
182endif
183
184
Note: See TracBrowser for help on using the repository browser.