Unified · Split
| @@ -49,7 +49,7 @@ endif · 48 unmodified lines | |||
| 49 | TCC=./tcc -B. -I. | 49 | TCC=./tcc -B. -I. |
| 50 | 50 | ||
| 51 | all: $(PROGS) \ | 51 | 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 \ |
| 53 | libtcc_test$(EXESUF) | 53 | libtcc_test$(EXESUF) |
| 54 | 54 | ||
| 55 | Makefile: config.mak | 55 | Makefile: config.mak |
| @@ -169,18 +169,21 @@ tiny_impdef$(EXESUF): tiny_impdef.c · 113 unmodified lines | |||
| 169 | 169 | ||
| 170 | # TinyCC runtime libraries | 170 | # TinyCC runtime libraries |
| 171 | ifdef CONFIG_WIN32 | 171 | ifdef CONFIG_WIN32 |
| 172 | # for windows, we must use TCC because we generate ELF objects | ||
| 172 | LIBTCC1_OBJS=$(addprefix win32/lib/, crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o) libtcc1.o | 173 | LIBTCC1_OBJS=$(addprefix win32/lib/, crt1.o wincrt1.o dllcrt1.o dllmain.o chkstk.o) libtcc1.o |
| 174 | LIBTCC1_CC=./tcc.exe -Bwin32 | ||
| 173 | else | 175 | else |
| 174 | LIBTCC1_OBJS=libtcc1.o | 176 | LIBTCC1_OBJS=libtcc1.o |
| 177 | LIBTCC1_CC=$(CC) | ||
| 175 | endif | 178 | endif |
| 176 | 179 | ||
| 177 | %.o: %.c | 180 | %.o: %.c |
| 178 | $(CC) -O2 -Wall -c -o $@ $< | 181 | $(LIBTCC1_CC) -O2 -Wall -c -o $@ $< |
| 179 | 182 | ||
| 180 | %.o: %.S | 183 | %.o: %.S |
| 181 | $(CC) -c -o $@ $< | 184 | $(LIBTCC1_CC) -c -o $@ $< |
| 182 | 185 | ||
| 183 | libtcc1$(LIBSUF): $(LIBTCC1_OBJS) | 186 | libtcc1.a: $(LIBTCC1_OBJS) |
| 184 | $(AR) rcs $@ $^ | 187 | $(AR) rcs $@ $^ |
| 185 | 188 | ||
| 186 | bcheck.o: bcheck.c | 189 | bcheck.o: bcheck.c |
| @@ -188,7 +191,7 @@ bcheck.o: bcheck.c · 1 unmodified line | |||
| 188 | 191 | ||
| 189 | install: tcc_install libinstall | 192 | install: tcc_install libinstall |
| 190 | 193 | ||
| 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 |
| 192 | mkdir -p "$(bindir)" | 195 | mkdir -p "$(bindir)" |
| 193 | $(INSTALL) -s -m755 $(PROGS) "$(bindir)" | 196 | $(INSTALL) -s -m755 $(PROGS) "$(bindir)" |
| 194 | ifndef CONFIG_WIN32 | 197 | ifndef CONFIG_WIN32 |
| @@ -199,11 +202,11 @@ endif · 4 unmodified lines | |||
| 199 | mkdir -p "$(tccdir)/include" | 202 | mkdir -p "$(tccdir)/include" |
| 200 | ifdef CONFIG_WIN32 | 203 | ifdef CONFIG_WIN32 |
| 201 | mkdir -p "$(tccdir)/lib" | 204 | mkdir -p "$(tccdir)/lib" |
| 202 | $(INSTALL) -m644 libtcc1$(LIBSUF) win32/lib/*.def "$(tccdir)/lib" | 205 | $(INSTALL) -m644 libtcc1.a win32/lib/*.def "$(tccdir)/lib" |
| 203 | cp -r win32/include "$(tccdir)/include" | 206 | cp -r win32/include/. "$(tccdir)/include" |
| 204 | cp -r win32/examples "$(tccdir)/examples" | 207 | cp -r win32/examples/. "$(tccdir)/examples" |
| 205 | else | 208 | else |
| 206 | $(INSTALL) -m644 libtcc1$(LIBSUF) $(BCHECK_O) "$(tccdir)" | 209 | $(INSTALL) -m644 libtcc1.a $(BCHECK_O) "$(tccdir)" |
| 207 | $(INSTALL) -m644 stdarg.h stddef.h stdbool.h float.h varargs.h \ | 210 | $(INSTALL) -m644 stdarg.h stddef.h stdbool.h float.h varargs.h \ |
| 208 | tcclib.h "$(tccdir)/include" | 211 | tcclib.h "$(tccdir)/include" |
| 209 | endif | 212 | endif |
| @@ -216,7 +219,7 @@ endif · 6 unmodified lines | |||
| 216 | clean: | 219 | clean: |
| 217 | rm -f *~ *.o *.a tcc tcc1 tcct tcc_g tcctest.ref *.bin *.i ex2 \ | 220 | rm -f *~ *.o *.a tcc tcc1 tcct tcc_g tcctest.ref *.bin *.i ex2 \ |
| 218 | core gmon.out test.out test.ref a.out tcc_p \ | 221 | 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 \ |
| 220 | tcctest[1234] test[1234].out $(PROGS) win32/lib/*.o | 223 | tcctest[1234] test[1234].out $(PROGS) win32/lib/*.o |
| 221 | 224 | ||
| 222 | distclean: clean | 225 | distclean: clean |
| @@ -227,20 +230,20 @@ tcc_p: tcc.c Makefile · 4 unmodified lines | |||
| 227 | $(CC) $(CFLAGS_P) -o $@ $< $(LIBS_P) | 230 | $(CC) $(CFLAGS_P) -o $@ $< $(LIBS_P) |
| 228 | 231 | ||
| 229 | # libtcc generation and example | 232 | # libtcc generation and example |
| 230 | libinstall: libtcc$(LIBSUF) | 233 | libinstall: libtcc.a |
| 231 | mkdir -p "$(libdir)" | 234 | mkdir -p "$(libdir)" |
| 232 | $(INSTALL) -m644 libtcc$(LIBSUF) "$(libdir)" | 235 | $(INSTALL) -m644 libtcc.a "$(libdir)" |
| 233 | mkdir -p "$(includedir)" | 236 | mkdir -p "$(includedir)" |
| 234 | $(INSTALL) -m644 libtcc.h "$(includedir)" | 237 | $(INSTALL) -m644 libtcc.h "$(includedir)" |
| 235 | 238 | ||
| 236 | libtcc.o: tcc.c i386-gen.c Makefile | 239 | libtcc.o: tcc.c i386-gen.c Makefile |
| 237 | $(CC) $(CFLAGS) -DLIBTCC -c -o $@ $< | 240 | $(CC) $(CFLAGS) -DLIBTCC -c -o $@ $< |
| 238 | 241 | ||
| 239 | libtcc$(LIBSUF): libtcc.o | 242 | libtcc.a: libtcc.o |
| 240 | $(AR) rcs $@ $^ | 243 | $(AR) rcs $@ $^ |
| 241 | 244 | ||
| 242 | libtcc_test$(EXESUF): libtcc_test.c libtcc$(LIBSUF) | 245 | libtcc_test$(EXESUF): libtcc_test.c libtcc.a |
| 243 | $(CC) $(CFLAGS) -o $@ $< libtcc$(LIBSUF) $(LIBS) | 246 | $(CC) $(CFLAGS) -o $@ $< libtcc.a $(LIBS) |
| 244 | 247 | ||
| 245 | libtest: libtcc_test | 248 | libtest: libtcc_test |
| 246 | ./libtcc_test | 249 | ./libtcc_test |