X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=9b584640e4817314d7cf821c314c3d7a24213cdd;hb=50e2af974eb7f486af60f2ea831a305972db2749;hp=e0ef344beedef095997d4eaf7671611e9b4457c6;hpb=e4cdfd3167c94272e730f26c3a3c6c5fee309cf9;p=org.ibex.core.git diff --git a/Makefile b/Makefile index e0ef344..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 @@ -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 @@ -180,7 +180,7 @@ src/org/ijg/jmorecfg.h: src/org/ijg/jpegsrc.v6b.tar.gz src/org/ijg/jmorecfg.h.pa $(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:/ export upstream HEAD + 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,24 +232,22 @@ 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: upstream/Carbon/include/Carbon upstream echo -e "\\n=== Carbon =========================================" - ranlib upstream/darwin/*.a - ar x /usr/lib/libcc_dynamic.a upstream/darwin/darwin-fpsave.o make gcj \ platform=Carbon \ target=powerpc-apple-darwin \ target_bin=xwt.carbon \ - platform_link="upstream/darwin/*.[oa] $(gcc_path)/lib/libgcj.a" \ + platform_link="$(gcc_path)/lib/libgcj.a -Xlinker -framework -Xlinker Carbon" \ platform_java_sources="POSIX Carbon" Java2: $(java_classes) bin/org/xwt/builtin.xwar