mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-22 22:00:49 +00:00
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:
parent
4b0703b35d
commit
2234f7761c
1 changed files with 19 additions and 1 deletions
20
rules.make
20
rules.make
|
@ -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})
|
||||
|
|
Loading…
Reference in a new issue