X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=9b584640e4817314d7cf821c314c3d7a24213cdd;hb=d5a50ab2a32ee70942e3798118c5d5d221b8c2b6;hp=4e7b850ce28ed58821276726c227ce04f7771180;hpb=99ed0a0824a0bd20bea291d3950b921957388e0b;p=org.ibex.core.git diff --git a/Makefile b/Makefile index 4e7b850..9b58464 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ cc_objects := $(cc_sources:src/%.cc=bin-$(platform)/%.cc.o) c_objects := $(c_sources:src/%.c=bin-$(platform)/%.c.o) # tools -gcc_path := $(shell pwd)/gcc +gcc_path := $(shell pwd)/gcc/install #gcc_optimizations := -O9 -ffast-math -fomit-frame-pointer -foptimize-sibling-calls -finline-functions #gcc_optimzations += -funroll-loops -ffunction-sections -fdata-sections gcc_optimizations := -O0 @@ -60,7 +60,7 @@ endif compile: $(java_classes) bin/org/xwt/builtin.xwar # platforms -all: Win32 Linux Java2 Darwin +all: Win32 Linux Java2 Darwin Carbon .javac: if \ @@ -137,7 +137,7 @@ propose-patch: ## 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/bin/$(target)-gcj: +$(shell pwd)/gcc/install/bin/$(target)-gcj: make -C gcc # java_classes is here to force compilation of the .class files (they get used via -Ibin/) without @@ -151,7 +151,7 @@ $(target_bin): $(java_objects) $(cc_objects) $(c_objects) bin-$(platform)/org/xw 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 = ";\ - (du -b bin/org/xwt/builtin.xwar | sed "s_bin.*__");\ + (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;\ @@ -177,10 +177,10 @@ src/org/ijg/jmorecfg.h: src/org/ijg/jpegsrc.v6b.tar.gz src/org/ijg/jmorecfg.h.pa 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) +$(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 -c $< -o $@ + $(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: $<" @@ -188,7 +188,28 @@ $(c_objects): bin-$(platform)/%.c.o: src/%.c src/org/ijg/jmorecfg.h $(gcc) -Ibin -c $< -o $@ upstream: - cvs -d :pserver:cvs@cvs.xwt.org:/cvs co 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 ############################################################################## @@ -211,15 +232,24 @@ Win32: Darwin: upstream echo -e "\\n=== Darwin =========================================" - ranlib upstream/darwin/*.a - ar x /usr/lib/libcc_dynamic.a upstream/darwin/darwin-fpsave.o + 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/*.[oa] $(gcc_path)/lib/libgcj.a" \ + 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: $(java_classes) bin/org/xwt/builtin.xwar echo -e "\\n=== Java2 =========================================" echo "archiving .class -> .jar"