1+ @ ECHO OFF
12rem Call this batch file with an argument of tcc3 or tcc2 to select compiler
3+ IF NOT [%2 ]== [] SET BASEPATH = %2
4+ IF [%2 ]== [] SET BASEPATH =
5+ IF NOT [%3 ]== [] SET MAKE = %3
6+ IF [%3 ]== [] SET MAKE = make
7+ IF [%1 ]== [] goto help
8+ SET OLD_PATH = %PATH%
29goto %1
310
11+ :help
12+ ECHO build tcc# [tcpath] [make]
13+ ECHO e.g.
14+ ECHO build tcc2 D:\tc201 d:\dgjpp\bin\make
15+ ECHO or
16+ ECHO build tcc3 D:\tc30
17+ ECHO .
18+ ECHO Note: ensure UPX is in your path, optionally make in C:\bin
19+ goto end
20+
421:tcc2
522rem ############# Turbo C 2.01 ########################
6- set PATH = C:\bin;C:\tc201;%PATH%
7- set LIBS = C:\tc201\lib
8- set CC = tcc
9- set LD = tlink
10- rem Small
11- rem set COPT=-c -ms -1 share.c
12- rem set LOPT=/m /s /c $(LIBS)\c0s.obj share.obj,share.com,,$(LIBS)\cs.lib
13- rem Tiny
14- set CFLAGS = -mt -1 -c -o
15- set LDFLAGS = /m /s /c /t $(LIBS)\c0t.obj $(EXTRA_OBJS) share.obj,share.com,,$(LIBS)\cs.lib
16- rem tcc looks for includes from the current directory, not the location of the
17- rem file that's trying to include them, so add kitten's location
18- set CFLAGS = -I../kitten -I../tnyprntf %CFLAGS%
19- goto doit
23+ IF [%BASEPATH% ]== [] set BASEPATH = C:\tc201
24+ set PATH = C:\bin;%BASEPATH% ;%PATH%
25+ goto tcshared
2026
2127:tcc3
2228rem ############# TURBO_C 3 ########################
23- set PATH = C:\bin;C:\tc\bin;%PATH%
24- set LIBS = C:\tc\lib
29+ IF [%BASEPATH% ]== [] set BASEPATH = C:\tc
30+ set PATH = C:\bin;%BASEPATH% \bin;%PATH%
31+ rem TC3 may create relocation records, if so use Small memory model
32+ goto tcshared
33+
34+ :tcshared
35+ rem ############# TURBO_C shared ########################
36+ set LIBS = %BASEPATH% \lib
37+ set INCLUDE = %BASEPATH% /include
2538set CC = tcc
2639set LD = tlink
27- rem Tiny
28- set COPT = -c -mt -1 share.c
29- set LOPT = /m /s /c /t -L$(LIBS) c0t.obj share.obj,share.com,,cs.lib
40+ set LDFLAGS = /m /s /c /t $(LIBS)\c0t.obj $(EXTRA_OBJS) share.obj,share.com,,$(LIBS)\cs.lib
41+ set CFLAGS = -I../kitten -I../tnyprntf -I%INCLUDE% -mt -1 -c -o
3042goto doit
3143
3244:doit
@@ -51,4 +63,18 @@ rem or
5163rem --best for smallest
5264
5365rem We use GNU make for all targets
54- make -C src
66+ %MAKE% -C src
67+
68+ rem cleanup
69+ :end
70+ set PATH = %OLD_PATH%
71+ set MAKE =
72+ set BASEPATH =
73+ set INCLUDE =
74+ set LIBS =
75+ set CC =
76+ set CFLAGS =
77+ set LD =
78+ set LDFLAGS =
79+ set EXTRA_OBJS =
80+ set UPXARGS =
0 commit comments