History

win32 fix

bellard committed 21 years ago

Commit c262e9e1 parent b78d3ff1 file · +18 −15Browse files

Unified · Split

Makefile+18−15
@@ -49,7 +49,7 @@ endif · 48 unmodified lines
4949 TCC=./tcc -B. -I.
5050
5151 all: $(PROGS) \
52− libtcc1$(LIBSUF) $(BCHECK_O) tcc-doc.html tcc.1 libtcc$(LIBSUF) \
52+ libtcc1.a $(BCHECK_O) tcc-doc.html tcc.1 libtcc.a \
5353 libtcc_test$(EXESUF)
5454
5555 Makefile: config.mak
@@ -169,18 +169,21 @@ tiny_impdef$(EXESUF): tiny_impdef.c · 113 unmodified lines
169169
170170 # TinyCC runtime libraries
171171 ifdef CONFIG_WIN32
172+# for windows, we must use TCC because we generate ELF objects
172173 LIBTCC1_OBJS=$(addprefix win32/lib/, crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o) libtcc1.o
174+LIBTCC1_CC=./tcc.exe -Bwin32
173175 else
174176 LIBTCC1_OBJS=libtcc1.o
177+LIBTCC1_CC=$(CC)
175178 endif
176179
177180 %.o: %.c
178− $(CC) -O2 -Wall -c -o $@ $<
181+ $(LIBTCC1_CC) -O2 -Wall -c -o $@ $<
179182
180183 %.o: %.S
181− $(CC) -c -o $@ $<
184+ $(LIBTCC1_CC) -c -o $@ $<
182185
183−libtcc1$(LIBSUF): $(LIBTCC1_OBJS)
186+libtcc1.a: $(LIBTCC1_OBJS)
184187 $(AR) rcs $@ $^
185188
186189 bcheck.o: bcheck.c
@@ -188,7 +191,7 @@ bcheck.o: bcheck.c · 1 unmodified line
188191
189192 install: tcc_install libinstall
190193
191−tcc_install: $(PROGS) tcc.1 libtcc1$(LIBSUF) $(BCHECK_O) tcc-doc.html tcc.1
194+tcc_install: $(PROGS) tcc.1 libtcc1.a $(BCHECK_O) tcc-doc.html tcc.1
192195 mkdir -p "$(bindir)"
193196 $(INSTALL) -s -m755 $(PROGS) "$(bindir)"
194197 ifndef CONFIG_WIN32
@@ -199,11 +202,11 @@ endif · 4 unmodified lines
199202 mkdir -p "$(tccdir)/include"
200203 ifdef CONFIG_WIN32
201204 mkdir -p "$(tccdir)/lib"
202− $(INSTALL) -m644 libtcc1$(LIBSUF) win32/lib/*.def "$(tccdir)/lib"
203− cp -r win32/include "$(tccdir)/include"
204− cp -r win32/examples "$(tccdir)/examples"
205+ $(INSTALL) -m644 libtcc1.a win32/lib/*.def "$(tccdir)/lib"
206+ cp -r win32/include/. "$(tccdir)/include"
207+ cp -r win32/examples/. "$(tccdir)/examples"
205208 else
206− $(INSTALL) -m644 libtcc1$(LIBSUF) $(BCHECK_O) "$(tccdir)"
209+ $(INSTALL) -m644 libtcc1.a $(BCHECK_O) "$(tccdir)"
207210 $(INSTALL) -m644 stdarg.h stddef.h stdbool.h float.h varargs.h \
208211 tcclib.h "$(tccdir)/include"
209212 endif
@@ -216,7 +219,7 @@ endif · 6 unmodified lines
216219 clean:
217220 rm -f *~ *.o *.a tcc tcc1 tcct tcc_g tcctest.ref *.bin *.i ex2 \
218221 core gmon.out test.out test.ref a.out tcc_p \
219− *.exe *.lib tcc.pod libtcc$(LIBSUF) libtcc_test \
222+ *.exe *.lib tcc.pod libtcc_test \
220223 tcctest[1234] test[1234].out $(PROGS) win32/lib/*.o
221224
222225 distclean: clean
@@ -227,20 +230,20 @@ tcc_p: tcc.c Makefile · 4 unmodified lines
227230 $(CC) $(CFLAGS_P) -o $@ $< $(LIBS_P)
228231
229232 # libtcc generation and example
230−libinstall: libtcc$(LIBSUF)
233+libinstall: libtcc.a
231234 mkdir -p "$(libdir)"
232− $(INSTALL) -m644 libtcc$(LIBSUF) "$(libdir)"
235+ $(INSTALL) -m644 libtcc.a "$(libdir)"
233236 mkdir -p "$(includedir)"
234237 $(INSTALL) -m644 libtcc.h "$(includedir)"
235238
236239 libtcc.o: tcc.c i386-gen.c Makefile
237240 $(CC) $(CFLAGS) -DLIBTCC -c -o $@ $<
238241
239−libtcc$(LIBSUF): libtcc.o
242+libtcc.a: libtcc.o
240243 $(AR) rcs $@ $^
241244
242−libtcc_test$(EXESUF): libtcc_test.c libtcc$(LIBSUF)
243− $(CC) $(CFLAGS) -o $@ $< libtcc$(LIBSUF) $(LIBS)
245+libtcc_test$(EXESUF): libtcc_test.c libtcc.a
246+ $(CC) $(CFLAGS) -o $@ $< libtcc.a $(LIBS)
244247
245248 libtest: libtcc_test
246249 ./libtcc_test