This commit is contained in:
hyung-hwan 2008-06-10 03:29:00 +00:00
parent 0c8fe75ed1
commit 9be49650e6
9 changed files with 101 additions and 51 deletions

View File

@ -3,6 +3,7 @@
# #
TOP_DIR = @abs_top_builddir@ TOP_DIR = @abs_top_builddir@
CC = @CC@ CC = @CC@
CXX = @CXX@ CXX = @CXX@
CFLAGS = @CFLAGS@ -I$(TOP_DIR)/inc CFLAGS = @CFLAGS@ -I$(TOP_DIR)/inc
@ -10,20 +11,10 @@ CXXFLAGS = @CXXFLAGS@ -I$(TOP_DIR)/inc
LDFLAGS = @LDFLAGS@ -L$(TOP_DIR)/out/@BUILDMODE@/lib LDFLAGS = @LDFLAGS@ -L$(TOP_DIR)/out/@BUILDMODE@/lib
LIBS = @LIBS@ -laseawk -lasecmn -laseutl -lm LIBS = @LIBS@ -laseawk -lasecmn -laseutl -lm
LIBS_CXX = -laseawk++ ${LIBS} LIBS_CXX = -laseawk++ ${LIBS}
LIBS_CJ = -laseawkja
MODE = @BUILDMODE@ MODE = @BUILDMODE@
STRIP = @STRIP@ STRIP = @STRIP@
CJ = @CJ@
CJFLAGS = @CJFLAGS@ --classpath=$(TOP_DIR)/..:. -fjni
BUILD_CJ = @BUILD_CJ@
JAVAC = @JAVAC@
JAR = @JAR@
CFLAGS_JNI = @CFLAGS_JNI@
BUILD_JNI = @BUILD_JNI@
AR = ar AR = ar
OUT_DIR= $(TOP_DIR)/out/$(MODE) OUT_DIR= $(TOP_DIR)/out/$(MODE)
@ -33,16 +24,10 @@ TMP_DIR = $(MODE)
ASEAWK_LIB = ASEAWK_LIB =
all: build$(BUILD_JNI)$(BUILD_CJ) all: build
build: $(TMP_DIR) $(OUT_DIR_BIN) $(OUT_DIR_BIN)/aseawk $(OUT_DIR_BIN)/aseawk++ build: $(TMP_DIR) $(OUT_DIR_BIN) $(OUT_DIR_BIN)/aseawk $(OUT_DIR_BIN)/aseawk++
buildjnicj: buildjni buildcj
buildjni: build $(OUT_DIR_BIN)/aseawk.jar $(OUT_DIR)/AseAwkApplet.html $(OUT_DIR)/AseAwkApplet.js
buildcj: build $(OUT_DIR_BIN)/aseawkja
$(OUT_DIR_BIN)/aseawk: awk.c $(OUT_DIR_BIN)/aseawk: awk.c
$(CC) $(CFLAGS) -o $@ awk.c $(LDFLAGS) $(LIBS) $(CC) $(CFLAGS) -o $@ awk.c $(LDFLAGS) $(LIBS)
$(STRIP) $@ $(STRIP) $@
@ -51,38 +36,6 @@ $(OUT_DIR_BIN)/aseawk++: Awk.cpp
$(CXX) $(CXXFLAGS) -o $@ Awk.cpp $(LDFLAGS) $(LIBS_CXX) $(CXX) $(CXXFLAGS) -o $@ Awk.cpp $(LDFLAGS) $(LIBS_CXX)
$(STRIP) $@ $(STRIP) $@
$(OUT_DIR_BIN)/aseawkja: $(TMP_DIR)/cj AseAwk.java AseAwkPanel.java AseAwkApplet.java
$(CJ) $(CJFLAGS) -o $(TMP_DIR)/cj/AseAwk.o -c AseAwk.java
$(CJ) $(CJFLAGS) -o $(TMP_DIR)/cj/AseAwkPanel.o -c AseAwkPanel.java
$(CJ) $(CJFLAGS) -o $(TMP_DIR)/cj/AseAwkApplet.o -c AseAwkApplet.java
mkdir -p $(TMP_DIR)/cj/lib
cd $(TMP_DIR)/cj/lib; $(AR) xv @abs_top_builddir@/@BUILDMODE@/lib/libaseawkja.a
$(CJ) --main=AseAwk -o $@ $(TMP_DIR)/cj/*.o $(TMP_DIR)/cj/lib/*.o
rm -rf $(TMP_DIR)/cj/lib
# Linking with the library seems to cause the resulting program
# to crash for some JNI operations. Correct me if I'm wrong.
#$(CJ) --main=AseAwk -o $@ $(TMP_DIR)/cj/*.o $(LDFLAGS) $(LIBS_CJ)
$(OUT_DIR_BIN)/aseawk.jar: $(TMP_DIR)/AseAwkPanel.class $(TMP_DIR)/AseAwk.class $(TMP_DIR)/AseAwkApplet.class
cd $(TMP_DIR); $(JAR) -xvf ../$(OUT_DIR_LIB)/aseawk.jar
cd $(TMP_DIR); $(JAR) -cvfm ../$@ ../manifest *.class ase
rm -rf $(TMP_DIR)/ase
$(TMP_DIR)/AseAwkPanel.class: AseAwkPanel.java
$(JAVAC) -classpath $(TMP_DIR):$(OUT_DIR_LIB)/aseawk.jar -d $(TMP_DIR) AseAwkPanel.java
$(TMP_DIR)/AseAwk.class: AseAwk.java
$(JAVAC) -classpath $(TMP_DIR):$(OUT_DIR_LIB)/aseawk.jar -d $(TMP_DIR) AseAwk.java
$(TMP_DIR)/AseAwkApplet.class: AseAwkApplet.java
$(JAVAC) -classpath $(TMP_DIR):$(OUT_DIR_LIB)/aseawk.jar -d $(TMP_DIR) AseAwkApplet.java
$(OUT_DIR)/AseAwkApplet.html: AseAwkApplet.html
cp -pf AseAwkApplet.html $(OUT_DIR)
$(OUT_DIR)/AseAwkApplet.js: AseAwkApplet.js
cp -pf AseAwkApplet.js $(OUT_DIR)
$(OUT_DIR_BIN): $(OUT_DIR_BIN):
mkdir -p $(OUT_DIR_BIN) mkdir -p $(OUT_DIR_BIN)
@ -93,6 +46,5 @@ $(TMP_DIR)/cj:
mkdir -p $(TMP_DIR)/cj mkdir -p $(TMP_DIR)/cj
clean: clean:
rm -rf $(OUT_DIR_BIN)/aseawk $(OUT_DIR_BIN)/aseawk++ $(OUT_DIR_BIN)/aseawkja rm -rf $(OUT_DIR_BIN)/aseawk $(OUT_DIR_BIN)/aseawk++
rm -rf $(OUT_DIR_BIN)/aseawk.jar $(OUT_DIR)/AseAwkApplet.html $(OUT_DIR)/AseAwkApplet.js $(TMP_DIR)/*.class

98
ase/java/makefile.in Normal file
View File

@ -0,0 +1,98 @@
#
# $Id: makefile.in,v 1.6 2007/11/11 15:06:47 bacon Exp $
#
TOP_DIR = @abs_top_builddir@
CC = @CC@
CXX = @CXX@
CFLAGS = @CFLAGS@ -I$(TOP_DIR)/inc
CXXFLAGS = @CXXFLAGS@ -I$(TOP_DIR)/inc
LDFLAGS = @LDFLAGS@ -L$(TOP_DIR)/out/@BUILDMODE@/lib
LIBS = @LIBS@ -laseawk -lasecmn -laseutl -lm
LIBS_CXX = -laseawk++ ${LIBS}
LIBS_CJ = -laseawkja
MODE = @BUILDMODE@
STRIP = @STRIP@
CJ = @CJ@
CJFLAGS = @CJFLAGS@ --classpath=$(TOP_DIR)/..:. -fjni
BUILD_CJ = @BUILD_CJ@
JAVAC = @JAVAC@
JAR = @JAR@
CFLAGS_JNI = @CFLAGS_JNI@
BUILD_JNI = @BUILD_JNI@
AR = ar
OUT_DIR= $(TOP_DIR)/out/$(MODE)
OUT_DIR_LIB = $(OUT_DIR)/lib
OUT_DIR_BIN = $(OUT_DIR)/cmd
TMP_DIR = $(MODE)
ASEAWK_LIB =
all: build$(BUILD_JNI)$(BUILD_CJ)
build: $(TMP_DIR) $(OUT_DIR_BIN) $(OUT_DIR_BIN)/aseawk $(OUT_DIR_BIN)/aseawk++
buildjnicj: buildjni buildcj
buildjni: build $(OUT_DIR_BIN)/aseawk.jar $(OUT_DIR)/AseAwkApplet.html $(OUT_DIR)/AseAwkApplet.js
buildcj: build $(OUT_DIR_BIN)/aseawkja
$(OUT_DIR_BIN)/aseawk: awk.c
$(CC) $(CFLAGS) -o $@ awk.c $(LDFLAGS) $(LIBS)
$(STRIP) $@
$(OUT_DIR_BIN)/aseawk++: Awk.cpp
$(CXX) $(CXXFLAGS) -o $@ Awk.cpp $(LDFLAGS) $(LIBS_CXX)
$(STRIP) $@
$(OUT_DIR_BIN)/aseawkja: $(TMP_DIR)/cj AseAwk.java AseAwkPanel.java AseAwkApplet.java
$(CJ) $(CJFLAGS) -o $(TMP_DIR)/cj/AseAwk.o -c AseAwk.java
$(CJ) $(CJFLAGS) -o $(TMP_DIR)/cj/AseAwkPanel.o -c AseAwkPanel.java
$(CJ) $(CJFLAGS) -o $(TMP_DIR)/cj/AseAwkApplet.o -c AseAwkApplet.java
mkdir -p $(TMP_DIR)/cj/lib
cd $(TMP_DIR)/cj/lib; $(AR) xv @abs_top_builddir@/@BUILDMODE@/lib/libaseawkja.a
$(CJ) --main=AseAwk -o $@ $(TMP_DIR)/cj/*.o $(TMP_DIR)/cj/lib/*.o
rm -rf $(TMP_DIR)/cj/lib
# Linking with the library seems to cause the resulting program
# to crash for some JNI operations. Correct me if I'm wrong.
#$(CJ) --main=AseAwk -o $@ $(TMP_DIR)/cj/*.o $(LDFLAGS) $(LIBS_CJ)
$(OUT_DIR_BIN)/aseawk.jar: $(TMP_DIR)/AseAwkPanel.class $(TMP_DIR)/AseAwk.class $(TMP_DIR)/AseAwkApplet.class
cd $(TMP_DIR); $(JAR) -xvf ../$(OUT_DIR_LIB)/aseawk.jar
cd $(TMP_DIR); $(JAR) -cvfm ../$@ ../manifest *.class ase
rm -rf $(TMP_DIR)/ase
$(TMP_DIR)/AseAwkPanel.class: AseAwkPanel.java
$(JAVAC) -classpath $(TMP_DIR):$(OUT_DIR_LIB)/aseawk.jar -d $(TMP_DIR) AseAwkPanel.java
$(TMP_DIR)/AseAwk.class: AseAwk.java
$(JAVAC) -classpath $(TMP_DIR):$(OUT_DIR_LIB)/aseawk.jar -d $(TMP_DIR) AseAwk.java
$(TMP_DIR)/AseAwkApplet.class: AseAwkApplet.java
$(JAVAC) -classpath $(TMP_DIR):$(OUT_DIR_LIB)/aseawk.jar -d $(TMP_DIR) AseAwkApplet.java
$(OUT_DIR)/AseAwkApplet.html: AseAwkApplet.html
cp -pf AseAwkApplet.html $(OUT_DIR)
$(OUT_DIR)/AseAwkApplet.js: AseAwkApplet.js
cp -pf AseAwkApplet.js $(OUT_DIR)
$(OUT_DIR_BIN):
mkdir -p $(OUT_DIR_BIN)
$(TMP_DIR):
mkdir -p $(TMP_DIR)
$(TMP_DIR)/cj:
mkdir -p $(TMP_DIR)/cj
clean:
rm -rf $(OUT_DIR_BIN)/aseawk $(OUT_DIR_BIN)/aseawk++ $(OUT_DIR_BIN)/aseawkja
rm -rf $(OUT_DIR_BIN)/aseawk.jar $(OUT_DIR)/AseAwkApplet.html $(OUT_DIR)/AseAwkApplet.js $(TMP_DIR)/*.class