This commit is contained in:
2008-02-09 03:04:38 +00:00
parent 04c12f891b
commit c17dc12bbd
20 changed files with 291 additions and 107 deletions

View File

@ -688,9 +688,10 @@ static void print_usage (const ase_char_t* argv0)
}
}
int awk_main (int argc, ase_char_t* argv[])
static int awk_main (int argc, ase_char_t* argv[])
{
TestAwk awk;
int mode = 0;
const ase_char_t* mainfn = NULL;
const ase_char_t* srcin = ASE_T("");
@ -887,7 +888,6 @@ int awk_main (int argc, ase_char_t* argv[])
extern "C" int ase_main (int argc, ase_achar_t* argv[])
{
int n;
#if defined(__linux) && defined(_DEBUG)

View File

@ -196,7 +196,6 @@ static ase_cint_t custom_awk_tolower (void* custom, ase_cint_t c)
/* custom miscellaneous functions */
static ase_real_t custom_awk_pow (void* custom, ase_real_t x, ase_real_t y)
{
return pow (x, y);
@ -219,7 +218,7 @@ static int custom_awk_sprintf (
static ase_ssize_t awk_srcio_in (
int cmd, void* arg, ase_char_t* data, ase_size_t size)
ase_awk_iocmd_t cmd, void* arg, ase_char_t* data, ase_size_t size)
{
struct awk_src_io* src_io = (struct awk_src_io*)arg;
ase_cint_t c;
@ -258,7 +257,7 @@ static ase_ssize_t awk_srcio_in (
}
static ase_ssize_t awk_srcio_out (
int cmd, void* arg, ase_char_t* data, ase_size_t size)
ase_awk_iocmd_t cmd, void* arg, ase_char_t* data, ase_size_t size)
{
/*struct awk_src_io* src_io = (struct awk_src_io*)arg;*/
@ -295,7 +294,7 @@ static ase_ssize_t awk_srcio_out (
}
static ase_ssize_t awk_extio_pipe (
int cmd, void* arg, ase_char_t* data, ase_size_t size)
ase_awk_iocmd_t cmd, void* arg, ase_char_t* data, ase_size_t size)
{
ase_awk_extio_t* epa = (ase_awk_extio_t*)arg;
@ -419,7 +418,7 @@ static ase_ssize_t awk_extio_pipe (
}
static ase_ssize_t awk_extio_file (
int cmd, void* arg, ase_char_t* data, ase_size_t size)
ase_awk_iocmd_t cmd, void* arg, ase_char_t* data, ase_size_t size)
{
ase_awk_extio_t* epa = (ase_awk_extio_t*)arg;
@ -559,7 +558,7 @@ static ase_ssize_t getdata (ase_char_t* data, ase_size_t size, FILE* fp)
}
static ase_ssize_t awk_extio_console (
int cmd, void* arg, ase_char_t* data, ase_size_t size)
ase_awk_iocmd_t cmd, void* arg, ase_char_t* data, ase_size_t size)
{
ase_awk_extio_t* epa = (ase_awk_extio_t*)arg;

View File

@ -6,6 +6,7 @@
#
# -Tpe
# -Tpd /dll
NAME = aseawk
!ifndef MODE
MODE = release
@ -14,27 +15,101 @@ MODE = release
CC = bcc32
CXX = bcc32
LD = ilink32
CFLAGS = -O2 -WM -WU -RT- -w -q -I..\..\..
CXXFLAGS = -O2 -WM -WU -RT- -w -q -I..\..\..
LDFLAGS = -ap -Tpe -Gn -c -q -L..\..\awk -L..\..\cmn -L..\..\utl
LIBS = import32.lib cw32mt.lib aseawk.lib asecmn.lib aseutl.lib
JAVAC = javac
JAR = jar
CFLAGS = -WM -WU -RT- -w -q -I..\..\..
CXXFLAGS = -WM -WU -RT- -w -q -I..\..\..
LDFLAGS = -ap -Tpe -Gn -c -q -L..\..\$(MODE)\lib -L\progra~1\borland\bds\4.0\lib
LIBS = asecmn.lib aseawk.lib aseutl.lib import32.lib cw32mt.lib
LIBS_CXX = $(LIBS) "aseawk++.lib"
STARTUP = c0x32w.obj
all: aseawk
JAVACFLAGS = -classpath ..\..\$(MODE)\lib\aseawk.jar;. -Xlint:unchecked
aseawk: awk.obj
$(LD) $(LDFLAGS) $(STARTUP) awk.obj,$@.exe,,$(LIBS),,
OUT_DIR = ..\..\$(MODE)\bin
OUT_FILE_BIN = $(OUT_DIR)\$(NAME).exe
OUT_FILE_BIN_CXX = "$(OUT_DIR)\$(NAME)++.exe"
OUT_FILE_JAR = $(OUT_DIR)\$(NAME).jar
java:
javac -classpath ../../.. Awk.java AwkApplet.java
TMP_DIR = $(MODE)
TMP_DIR_CXX = $(TMP_DIR)\cxx
TMP_DIR_JAR = $(TMP_DIR)\java
jrun:
java -Xms1m -Xmx2m -classpath ../../.. ase.test.awk.Awk
OBJ_FILES_BIN = $(TMP_DIR)\awk.obj
OBJ_FILES_BIN_CXX = $(TMP_DIR_CXX)\Awk.obj
OBJ_FILES_JAR = \
$(TMP_DIR_JAR)\AseAwk.class \
$(TMP_DIR_JAR)\AseAwkPanel.class \
$(TMP_DIR_JAR)\AseAwkApplet.class
TARGETS = bin
!if "$(JAVA_HOME)" != ""
TARGETS = $(TARGETS) jar
!endif
!IF "$(MODE)" == "debug"
CFLAGS = $(CFLAGS) -D_DEBUG -DDEBUG
CXXFLAGS = $(CXXFLAGS) -D_DEBUG -DDEBUG
!ELSEIF "$(MODE)" == "release"
CFLAGS = $(CFLAGS) -DNDEBUG -O2
CXXFLAGS = $(CXXFLAGS) -DNDEBUG -O2
!ELSE
CFLAGS = $(CFLAGS)
CXXFLAGS = $(CXXFLAGS)
!ENDIF
all: $(TARGETS)
bin: $(OUT_FILE_BIN) $(OUT_FILE_BIN_CXX)
jar: $(OUT_FILE_JAR)
$(OUT_FILE_BIN): $(TMP_DIR) $(OUT_DIR) $(OBJ_FILES_BIN)
$(LD) $(LDFLAGS) $(STARTUP) $(OBJ_FILES_BIN),$@,,$(LIBS),,
$(OUT_FILE_BIN_CXX): $(TMP_DIR_CXX) $(OUT_FILE_BIN) $(OBJ_FILES_BIN_CXX)
$(LD) $(LDFLAGS) $(STARTUP) $(OBJ_FILES_BIN_CXX),$@,,$(LIBS_CXX),,
$(OUT_FILE_JAR): $(TMP_DIR_JAR) $(OBJ_FILES_JAR)
$(JAR) -xvf ..\..\$(MODE)\lib\aseawk.jar
$(JAR) -cvfm $(OUT_FILE_JAR) manifest ase -C $(TMP_DIR_JAR) .
$(TMP_DIR)\awk.obj: awk.c
$(CC) $(CFLAGS) -o$@ -c awk.c
$(TMP_DIR_CXX)\Awk.obj: Awk.cpp
$(CC) $(CXXFLAGS) -o$@ -c Awk.cpp
$(TMP_DIR_JAR)\AseAwk.class: AseAwk.java
$(JAVAC) $(JAVACFLAGS) -d $(TMP_DIR_JAR) AseAwk.java
$(TMP_DIR_JAR)\AseAwkApplet.class: AseAwkApplet.java
$(JAVAC) $(JAVACFLAGS) -d $(TMP_DIR_JAR) AseAwkApplet.java
$(TMP_DIR_JAR)\AseAwkPanel.class: AseAwkPanel.java
$(JAVAC) $(JAVACFLAGS) -d $(TMP_DIR_JAR) AseAwkPanel.java
$(OUT_DIR):
-md $(OUT_DIR)
$(TMP_DIR):
-md $(TMP_DIR)
$(TMP_DIR_CXX): $(TMP_DIR)
-md $(TMP_DIR_CXX)
$(TMP_DIR_JAR): $(TMP_DIR)
-md $(TMP_DIR_JAR)
clean:
del $(OBJS) *.obj *.class aseawk.exe
.SUFFIXES: .c .obj
.c.obj:
$(CC) $(CFLAGS) -c $<
-del $(OUT_FILE_BIN)
-del $(OUT_FILE_BIN_CXX)
-del $(OBJ_FILES_BIN)
-del $(OBJ_FILES_BIN_CXX)
-del $(OUT_FILE_JAR)
-del $(OBJ_FILES_JAR)
-del $(TMP_DIR)\*.class

View File

@ -110,7 +110,7 @@ $(TMP_DIR_JAR): $(TMP_DIR)
clean:
-del $(OUT_FILE_BIN)
-del $(OUT_FILE_BIN_CXX)
-del $(OUT_FILE_BIN_CXX)
-del $(OBJ_FILES_BIN)
-del $(OBJ_FILES_BIN_CXX)
-del $(OUT_FILE_JAR)