2003/08/10 06:03:01
[org.ibex.core.git] / Makefile
index 593bb6d..7488853 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,8 +10,10 @@ jpeg_c_sources += jdhuff.c jdphuff.c jddctmgr.c jidctint.c jidctfst.c jidctflt.c
 jpeg_c_sources += jquant1.c jquant2.c jerror.c jutils.c jmemnobs.c jmemmgr.c
 
 # inputs
+java_pp_sources        := $(shell find src -name \*.java.pp)
+java_pp_postproc       := $(java_pp_sources:src/%.java.pp=bin/%.java)
 java_sources           := $(shell find src -name \*.java)
-java_headers           := $(java_sources:src/%.java=bin/%.h)
+java_headers           := $(java_sources:src/%.java=bin/%.h) $(java_pp_postproc:bin/%.java=bin/%.h)
 xwar_sources           := $(shell ls src/org/xwt/builtin/*.png src/org/xwt/builtin/*.xwt src/org/xwt/builtin/*.xwf)
 cc_sources             := src/org/xwt/plat/$(platform).cc
 c_sources              := $(jpeg_c_sources:%.c=src/org/ijg/%.c)
@@ -24,6 +26,7 @@ freetype_sources       += $(freetype_other_sources:%=gcc/src/freetype-2.1.4/src/
 
 # outputs
 java_objects           := $(filter-out bin-$(platform)/org/xwt/plat/%, $(java_sources:src/%.java=bin-$(platform)/%.java.o))
+java_objects           += $(filter-out bin-$(platform)/org/xwt/plat/%, $(java_pp_postproc:bin/%.java=bin-$(platform)/%.java.o))
 java_objects           += bin-$(platform)/org/xwt/plat/GCJ.java.o
 java_objects           += $(platform_java_sources:%=bin-$(platform)/org/xwt/plat/%.java.o)
 cc_objects             := $(cc_sources:src/%.cc=bin-$(platform)/%.cc.o)
@@ -62,15 +65,23 @@ ifneq ($(verbose),true)
 silent := --silent
 endif
 
-
-# preprocessing: use m4 -P
-
-compile: .javac bin/org/xwt/builtin.xwar
+compile: .javac $(java_pp_postproc) bin/org/xwt/builtin.xwar
        echo "compiling   .java -> .class:"
        mkdir -p bin
-       $(shell cat .javac) -classpath lib/libgcj-minimal.jar $(java_sources) -d bin/ 2>&1 | \
+       $(shell cat .javac) -classpath lib/libgcj-minimal.jar $(java_sources) $(java_pp_postproc) -d bin/ 2>&1 | \
                grep -v ^\\[read | sed s_^\\[write\ bin/__ | sed s_.class\\]_.java_ | sed "s_^_compiling   .java -> .class: src/_"
 
+bin/org/xwt/util/Preprocessor.class: .javac
+       echo "compiling preprocessor"
+       mkdir -p bin
+       $(shell cat .javac) -classpath lib/libgcj-minimal.jar src/org/xwt/util/Preprocessor.java -d bin/ 2>&1 | \
+               grep -v ^\\[read | sed s_^\\[write\ bin/__ | sed s_.class\\]_.java_ | sed "s_^_compiling   .java -> .class: src/_"
+
+$(java_pp_postproc): bin/%.java: src/%.java.pp bin/org/xwt/util/Preprocessor.class
+       @echo "preprocessing   .java.pp -> .java:     $<"
+       @mkdir -p `dirname $@`
+       @java -cp bin org.xwt.util.Preprocessor < $< > $@
+
 # platforms
 all: Win32 Linux Java2 #Solaris