OUT = aseawk C_SRCS = awk.c err.c tree.c str.c tab.c map.c parse.c \ run.c rec.c val.c func.c misc.c extio.c rex.c JNI_SRCS = jni.c JAVA_SRCS = Exception.java Extio.java Awk.java StdAwk.java C_OBJS = $(C_SRCS:.c=.obj) JNI_OBJS = $(JNI_SRCS:.c=.obj) JAVA_OBJS = $(JAVA_SRCS:.java=.class) JNI_INCPATH = \ -I"$(JAVA_HOME)/include" \ -I"$(JAVA_HOME)/include/win32" CC = bcc32 LD = ilink32 AR = tlib JAVAC = javac CFLAGS_COMMON = -O2 -WM -WU -RT- -w -q -I../.. $(JNI_INCPATH) CFLAGS_RELEASE = $(CFLAGS_COMMON) -DNDEBUG CFLAGS_DEBUG = $(CFLAGS_COMMON) -D_DEBUG #-DDEBUG_REX CFLAGS = $(CFLAGS_DEBUG) #CFLAGS = $(CFLAGS_RELEASE) JAVACFLAGS = -classpath ../.. LDFLAGS = -Tpd -ap -Gn -c -q STARTUP = c0d32w.obj LIBS = import32.lib cw32mt.lib JNI_LIBS = $(LIBS) $(OUT).lib all: lib jni lib: $(C_OBJS) $(AR) $(OUT).lib @&&! +-$(**: = &^ +-) ! jni: lib $(JNI_OBJS) $(JAVA_OBJS) $(LD) $(LDFLAGS) $(STARTUP) $(JNI_OBJS),$(OUT)_jni.dll,,$(JNI_LIBS),jni.def, clean: -del $(OBJS) $(OUT).lib $(OUT)_jni.dll *.obj *.class .SUFFIXES: .c .obj .java .class .c.obj: $(CC) $(CFLAGS) -c $< .java.class: $(JAVAC) $(JAVACFLAGS) $<