# # $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