Added rules to build jni headers from java sources

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/branches/freeze-0_6_6@6960 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2000-07-25 13:01:19 +00:00
parent 4b0703b35d
commit 2234f7761c

View file

@ -141,6 +141,9 @@ ALL_CFLAGS = $(INTERNAL_CFLAGS) $(ADDITIONAL_CFLAGS) \
ALL_JAVAFLAGS = $(INTERNAL_JAVAFLAGS) $(ADDITIONAL_JAVAFLAGS) \
$(AUXILIARY_JAVAFLAGS)
ALL_JAVAHFLAGS = $(INTERNAL_JAVAHFLAGS) $(ADDITIONAL_JAVAHFLAGS) \
$(AUXILIARY_JAVAHFLAGS)
ALL_LDFLAGS = $(ADDITIONAL_LDFLAGS) $(AUXILIARY_LDFLAGS) $(GUI_LDFLAGS) \
$(BACKEND_LDFLAGS) $(SYSTEM_LDFLAGS) $(INTERNAL_LDFLAGS)
@ -168,7 +171,7 @@ endif
# General rules
VPATH = .
.SUFFIXES: .m .c .psw .java
.SUFFIXES: .m .c .psw .java .h
.PRECIOUS: %.c %.h $(GNUSTEP_OBJ_DIR)/%${OEXT}
@ -181,6 +184,13 @@ $(GNUSTEP_OBJ_DIR)/%${OEXT} : %.m
%.class : %.java
$(JAVAC) $(ALL_JAVAFLAGS) $<
# A jni header file which is created using JAVAH
# Example of how this rule will be applied:
# gnu/gnustep/base/NSObject.h : gnu/gnustep/base/NSObject.java
# javah -o gnu/gnustep/base/NSObject.h gnu.gnustep.base.NSObject
%.h : %.java
$(JAVAH) $(ALL_JAVAHFLAGS) -o $@ $(subst /,.,$*)
%.c : %.psw
pswrap -h $*.h -o $@ $<
@ -210,6 +220,7 @@ $(GNUSTEP_OBJ_DIR)/%${OEXT} : %.m
OBJC_FILES="$($*_OBJC_FILES)" \
C_FILES="$($*_C_FILES)" \
JAVA_FILES="$($*_JAVA_FILES)" \
JAVA_JNI_FILES="$($*_JAVA_JNI_FILES)" \
OBJ_FILES="$($*_OBJ_FILES)" \
PSWRAP_FILES="$($*_PSWRAP_FILES)" \
HEADER_FILES="$($*_HEADER_FILES)" \
@ -265,6 +276,10 @@ $(GNUSTEP_OBJ_DIR)/%${OEXT} : %.m
# The list of JAVA source files to be compiled
# are in the JAVA_FILES variable.
#
# The list of JAVA source files from which to generate jni headers
# are in the JAVA_JNI_FILES variable.
#
ifneq ($($*_SUBPROJECTS),)
SUBPROJECT_OBJ_FILES = $(foreach d, $($*_SUBPROJECTS), \
@ -287,6 +302,9 @@ OBJC_OBJ_FILES = $(addprefix $(GNUSTEP_OBJ_DIR)/,$(OBJC_OBJS))
JAVA_OBJS = $(JAVA_FILES:.java=.class)
JAVA_OBJ_FILES = $(JAVA_OBJS)
JAVA_JNI_OBJS = $(JAVA_JNI_FILES:.java=.h)
JAVA_JNI_OBJ_FILES = $(JAVA_JNI_OBJS)
PSWRAP_C_FILES = $(PSWRAP_FILES:.psw=.c)
PSWRAP_H_FILES = $(PSWRAP_FILES:.psw=.h)
PSWRAP_OBJS = $(PSWRAP_FILES:.psw=${OEXT})