diff --git a/Makefile.libogc b/Makefile.libogc index a8ff32f3b9..f4cf82dfda 100644 --- a/Makefile.libogc +++ b/Makefile.libogc @@ -12,23 +12,85 @@ endif export PATH := $(DEVKITPPC)/bin:$(PATH) -export LIBOGC_MAJOR := 1 -export LIBOGC_MINOR := 8 -export LIBOGC_PATCH := 17 +ifeq ($(PLATFORM),) +PLATFORM=wii +endif -include $(DEVKITPPC)/base_rules +#--------------------------------------------------------------------------------- +# change shell on Snow Leopard +#--------------------------------------------------------------------------------- +UNAME_S := $(shell uname -s) +UNAME_R := $(shell uname -r) + +ifneq (,$(findstring Darwin,$(UNAME_S))) + ifneq (,$(findstring 10.8.0,$(UNAME_R))) + export SHELL=/bin/bash + endif +endif + +#--------------------------------------------------------------------------------- +# path to tools +#--------------------------------------------------------------------------------- +export PORTLIBS := $(DEVKITPRO)/portlibs/ppc +export PATH := $(DEVKITPPC)/bin:$(PORTLIBS)/bin:$(PATH) + +#--------------------------------------------------------------------------------- +# the prefix on the compiler executables +#--------------------------------------------------------------------------------- +PREFIX := powerpc-eabi- + +export AS := $(PREFIX)as +export CC := $(PREFIX)gcc +export CXX := $(PREFIX)g++ +export AR := $(PREFIX)ar +export OBJCOPY := $(PREFIX)objcopy + + +ISVC=$(or $(VCBUILDHELPER_COMMAND),$(MSBUILDEXTENSIONSPATH32),$(MSBUILDEXTENSIONSPATH)) + +#--------------------------------------------------------------------------------- +%.a: +#--------------------------------------------------------------------------------- + @rm -f $@ + $(AR) -rc $@ $^ + +#--------------------------------------------------------------------------------- +%.o: %.cpp + $(CXX) $(CXXFLAGS) -c $< -o $@ + +#--------------------------------------------------------------------------------- +%.o: %.c + $(CC) $(CFLAGS) -c $< -o $@ + +#--------------------------------------------------------------------------------- +%.o: %.m + $(CC) $(OBJCFLAGS) -c $< -o $@ + +#--------------------------------------------------------------------------------- +%.o: %.s + $(CC) -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ + +#--------------------------------------------------------------------------------- +%.o: %.S + $(CC) -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ + +#--------------------------------------------------------------------------------- +# canned command sequence for binary data +#--------------------------------------------------------------------------------- +define bin2o + bin2s -a 32 $< | $(AS) -o $(@) + echo "extern const u8" `(echo $( `(echo $(> `(echo $(> `(echo $( $@ - @echo "#define __LIBVERSION_H__" >> $@ - @echo >> $@ - @echo "#define _V_MAJOR_ $(LIBOGC_MAJOR)" >> $@ - @echo "#define _V_MINOR_ $(LIBOGC_MINOR)" >> $@ - @echo "#define _V_PATCH_ $(LIBOGC_PATCH)" >> $@ - @echo >> $@ - @echo "#define _V_DATE_ __DATE__" >> $@ - @echo "#define _V_TIME_ __TIME__" >> $@ - @echo >> $@ - @echo '#define _V_STRING "libOGC Release '$(LIBOGC_MAJOR).$(LIBOGC_MINOR).$(LIBOGC_PATCH)'"' >> $@ - @echo >> $@ - @echo "#endif // __LIBVERSION_H__" >> $@ +ifeq ($(PLATFORM),cube) +LIBRARIES += $(BBALIB).a +endif +ifeq ($(PLATFORM),wii) +LIBRARIES += $(BTELIB).a $(WIIUSELIB).a $(WIIKEYBLIB).a +endif +all: $(LIBRARIES) #--------------------------------------------------------------------------------- $(BBALIB).a: $(LWIPOBJ) #--------------------------------------------------------------------------------- @@ -202,67 +349,8 @@ $(BTELIB).a: $(BTEOBJ) $(WIIUSELIB).a: $(WIIUSEOBJ) #--------------------------------------------------------------------------------- -.PHONY: libs wii cube install-headers install dist docs - -#--------------------------------------------------------------------------------- -install-headers: -#--------------------------------------------------------------------------------- - @mkdir -p $(INCDIR) - @mkdir -p $(INCDIR)/ogc/machine - @mkdir -p $(INCDIR)/bte - @mkdir -p $(INCDIR)/wiiuse - @mkdir -p $(INCDIR)/modplay - @mkdir -p $(INCDIR)/sdcard - @mkdir -p $(INCDIR)/di - @mkdir -p $(INCDIR)/wiikeyboard - @cp ./gc/*.h $(INCDIR) - @cp ./gc/ogc/*.h $(INCDIR)/ogc - @cp ./gc/ogc/machine/*.h $(INCDIR)/ogc/machine - @cp ./gc/bte/*.h $(INCDIR)/bte - @cp ./gc/wiiuse/*.h $(INCDIR)/wiiuse - @cp ./gc/modplay/*.h $(INCDIR)/modplay - @cp ./gc/sdcard/*.h $(INCDIR)/sdcard - @cp ./gc/di/*.h $(INCDIR)/di - @cp ./gc/wiikeyboard/*.h $(INCDIR)/wiikeyboard - -#--------------------------------------------------------------------------------- -install: wii cube install-headers -#--------------------------------------------------------------------------------- - @mkdir -p $(DEVKITPRO)/libogc - @cp -frv include $(DEVKITPRO)/libogc - @cp -frv lib $(DEVKITPRO)/libogc - @cp -frv libogc_license.txt $(DEVKITPRO)/libogc - - -#--------------------------------------------------------------------------------- -dist: wii cube install-headers -#--------------------------------------------------------------------------------- - @tar --exclude=*CVS* --exclude=.svn --exclude=wii --exclude=cube --exclude=*deps* \ - --exclude=*.bz2 --exclude=*include* --exclude=*lib/* --exclude=*docs/*\ - -cvjf libogc-src-$(VERSTRING).tar.bz2 * - @tar -cvjf libogc-$(VERSTRING).tar.bz2 include lib libogc_license.txt - - -LIBRARIES := $(OGCLIB).a $(DBLIB).a - -ifeq ($(PLATFORM),cube) -LIBRARIES += $(BBALIB).a -endif -ifeq ($(PLATFORM),wii) -LIBRARIES += $(BTELIB).a $(WIIUSELIB).a $(WIIKEYBLIB).a -endif - -#--------------------------------------------------------------------------------- -libs: $(LIBRARIES) -#--------------------------------------------------------------------------------- - #--------------------------------------------------------------------------------- clean: #--------------------------------------------------------------------------------- - rm -fr $(BASEDIR)/wii/*.o + rm -fr $(LWIPOBJ) $(OGCOBJ) $(DBOBJ) $(BTEOBJ) $(WIIUSEOBJ) $(WIIKEYBLIBOBJ) rm -f *.map - -#--------------------------------------------------------------------------------- -docs: install-headers -#--------------------------------------------------------------------------------- - doxygen libogc.dox diff --git a/wii/libogc/deps/empty.txt b/wii/libogc/deps/empty.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/wii/libogc/libs/wii/libbte.a b/wii/libogc/libs/wii/libbte.a index a3cfae914a..73af7a1a25 100644 Binary files a/wii/libogc/libs/wii/libbte.a and b/wii/libogc/libs/wii/libbte.a differ diff --git a/wii/libogc/libs/wii/libdb.a b/wii/libogc/libs/wii/libdb.a index 34f72fc4c6..632fe4058f 100644 Binary files a/wii/libogc/libs/wii/libdb.a and b/wii/libogc/libs/wii/libdb.a differ diff --git a/wii/libogc/libs/wii/libogc.a b/wii/libogc/libs/wii/libogc.a index d3fcad5fa0..eedb4c14ee 100644 Binary files a/wii/libogc/libs/wii/libogc.a and b/wii/libogc/libs/wii/libogc.a differ diff --git a/wii/libogc/libs/wii/libwiikeyboard.a b/wii/libogc/libs/wii/libwiikeyboard.a index 449c76294a..7a038b88f0 100644 Binary files a/wii/libogc/libs/wii/libwiikeyboard.a and b/wii/libogc/libs/wii/libwiikeyboard.a differ diff --git a/wii/libogc/libs/wii/libwiiuse.a b/wii/libogc/libs/wii/libwiiuse.a index 74880e97e8..660644236a 100644 Binary files a/wii/libogc/libs/wii/libwiiuse.a and b/wii/libogc/libs/wii/libwiiuse.a differ