-## GCJ-Derived Platforms #######################################################################
-
-# if the user doesn't change gcc_path, and it's not built, then we'll try to build it
-$(shell pwd)/gcc/install/bin/$(target)-gcj:
- make -C gcc
-
-# compile is here to force compilation of the .class files (they get used via -Ibin/) without
-# having the individual .o's depend on the .java's (otherwise every .o gets recompiled when one .java changes)
-gcj: $(gcc_path)/bin/$(target)-gcj compile $(target_bin)
-
-$(target_bin): $(java_objects) $(cc_objects) $(c_objects) bin-$(platform)/org/xwt/builtin.o
- @echo "linking .o -> $(target_bin)"
- $(gcj) --main=org.xwt.Main -o bin-$(platform)/$(target_bin) $^ $(platform_link)
-
-bin-$(platform)/org/xwt/builtin.o: bin/org/xwt/builtin.xwar
- @echo "wrapping .xwar -> .o: bin/org/xwt/builtin.o"
- @(echo "unsigned int builtin_xwar_length = ";\
- (wc -c bin/org/xwt/builtin.xwar | sed "s_bin.*__");\
- echo \;;\
- echo "unsigned char builtin_xwar[] = {";\
- hexdump -ve '"0x" 1/1 "%x,\n"' bin/org/xwt/builtin.xwar;\
- echo "};") > .builtin.c
- $(gcc) -c .builtin.c -o bin-$(platform)/org/xwt/builtin.o
-
-$(java_headers): bin/%.h: bin/%.class
- @echo "extracting .class -> .h: $<"
- cd bin; find `echo $< | sed s/.class$$// | sed s_^bin/__ `*.class |\
- sed s_/_._g | sed s/.class$$// | sed s/.java$$// |\
- xargs $(gcjh) --classpath .
-
-$(java_objects): bin-$(platform)/%.java.o: src/%.java
- @echo "compiling .java -> .o: $<"
- mkdir -p `dirname $@`
- $(gcj) -c $< -o $@
-
-# unpack and patch the ijg library
-src/org/ijg/jmorecfg.h: src/org/ijg/jpegsrc.v6b.tar.gz src/org/ijg/jmorecfg.h.patch
- cd src/org/ijg/; tar xzf jpegsrc.v6b.tar.gz
- cd src/org/ijg/jpeg-6b; ./configure --target=$(target)
- cd src/org/ijg/jpeg-6b; mv $(jpeg_c_sources) $(jpeg_headers) ..
- cd src/org/ijg; patch -p0 < jmorecfg.h.patch
- rm -rf src/org/ijg/jpeg-6b
-
-$(cc_objects): bin-$(platform)/%.cc.o: src/%.cc $(java_headers) src/org/ijg/jmorecfg.h
- @echo "compiling .cc -> .o: $<"
- @mkdir -p `dirname $@`
- $(g++) -I/usr/X11R6/include/ -I$(gcc_path)/include -Ibin -Iupstream/$(platform)/include -Wno-multichar -c $< -o $@
-
-$(c_objects): bin-$(platform)/%.c.o: src/%.c src/org/ijg/jmorecfg.h
- @echo "compiling .c -> .o: $<"
- @mkdir -p `dirname $@`
- $(gcc) -Ibin -c $< -o $@
-
-upstream:
- cvs -d :pserver:cvs@cvs.xwt.org:/ export -r HEAD upstream
-
-upstream/Carbon/include/Carbon:
- # A disgusting hack to create symlinks to the OS X Framework headers, since the
- # standard GCC doesn't know how to search Frameworks for header files.
- outdir="upstream/Carbon/include"; \
- librarydir="/System/Library"; \
- frameworksubdir="Frameworks"; \
- cd $$outdir; \
- function CreateHeaderDirectories() \
- { \
- for framework in `ls -d $$1/*.framework`; do \
- name=`echo $$framework | sed 's/.*\/\([^/]*\)\.framework/\1/'`; \
- if [[ $$name != "" && ! -e $$name && -e $$framework/Headers ]]; then \
- ln -s $$framework/Headers $$name; \
- if [[ -e $$framework/$$frameworksubdir ]]; then \
- CreateHeaderDirectories $$framework/$$frameworksubdir; \
- fi; \
- fi; \
- done; \
- }; \
- CreateHeaderDirectories $$librarydir/$$frameworksubdir;
-
-## Platforms ##############################################################################
-
-Linux:
- echo -e "\\n=== Linux ========================================="
- make gcj \
- platform=Linux \
- target=i686-pc-linux-gnu \
- target_bin=xwt.linux \
- platform_link="-L$(gcc_path)/lib -L/usr/X11R6/lib -lX11 -lXext --static" \
- platform_java_sources="POSIX X11"
-
-Win32:
- echo -e "\\n=== Win32 ========================================="
- make gcj \
- platform=Win32 \
- target=i686-pc-mingw32 \
- target_bin=xwt.exe \
- platform_link="-Wl,--subsystem,windows -lcomdlg32"
-
-Darwin: upstream
- echo -e "\\n=== Darwin ========================================="
- ranlib upstream/Darwin/lib/*.a
- ar x /usr/lib/libcc_dynamic.a upstream/Darwin/lib/darwin-fpsave.o
- make gcj \
- platform=Darwin \
- target=powerpc-apple-darwin \
- target_bin=xwt.darwin \
- platform_link="upstream/Darwin/lib/*.[oa] $(gcc_path)/lib/libgcj.a" \
- platform_java_sources="POSIX X11"
-
-Carbon: upstream/Carbon/include/Carbon upstream
- echo -e "\\n=== Carbon ========================================="
- make gcj \
- platform=Carbon \
- target=powerpc-apple-darwin \
- target_bin=xwt.carbon \
- platform_link="$(gcc_path)/lib/libgcj.a -Xlinker -framework -Xlinker Carbon" \
- platform_java_sources="POSIX Carbon"
-
-Java2: compile bin/org/xwt/builtin.xwar
- echo -e "\\n=== Java2 ========================================="
- echo "archiving .class -> .jar"
- mkdir -p bin-Java2
- echo -e "Manifest-Version: 1.0\nMain-Class: org.xwt.Main\n" > bin/.manifest
- cd bin; $(jar) cvfm ../bin-Java2/xwt.jar .manifest \
- org/xwt/builtin.xwar \
- `find . -name \*.class | grep -v org/xwt/plat/` \
- org/xwt/plat/AWT*.class org/xwt/plat/Java2*.class | tr \\012 \\015
- echo
-
-PalmOS:
- echo "PalmOS is not yet supported"
- false
-
-
-## master.dist.xwt.org ############################################################################
-