diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 1f054d53..ee652b0a 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -39,6 +39,14 @@ version : @$(TOUCH) $@ VERYCLEANUP += .toolcheck +# Check for correct syntax for echo -e +# +ifeq ($(shell echo '\0101'),A) +ECHO_E = echo +else +ECHO_E = echo -e +endif + # Build verbosity # ifeq ($(V),1) @@ -121,7 +129,7 @@ define obj_template @$(CPP) $(CFLAGS) $(CFLAGS_$(3)) $(CFLAGS_$(4)) -DOBJECT=$(4) \ -Wno-error -M $(1) -MT "$(4)_DEPS" -MG -MP | \ sed 's/_DEPS\s*:/_DEPS =/' >> $(2) - @echo -e '\n$$(BIN)/$(4).o : $(1) $$(MAKEDEPS) $$($(4)_DEPS)' \ + @$(ECHO_E) '\n$$(BIN)/$(4).o : $(1) $$(MAKEDEPS) $$($(4)_DEPS)' \ '\n\t$$(QM)echo " [BUILD] $$@"\n' \ '\n\t$$(RULE_$(3))\n' \ '\nBOBJS += $$(BIN)/$(4).o\n' \ @@ -368,7 +376,7 @@ define media_template @$(MKDIR) -p $(dir $(2)) @$(RM) $(2) @$(TOUCH) $(2) - @echo -e '$$(BIN)/%$(1) : $$(BIN)/%$(1).zbin' \ + @$(ECHO_E) '$$(BIN)/%$(1) : $$(BIN)/%$(1).zbin' \ '\n\t$$(QM)echo " [FINISH] $$@"' \ '\n\t$$(Q)$$(CP) $$< $$@' \ '\n\t$$(Q)$$(FINALISE_$(1))' \ diff --git a/src/arch/i386/include/stdint.h b/src/arch/i386/include/bits/stdint.h similarity index 50% rename from src/arch/i386/include/stdint.h rename to src/arch/i386/include/bits/stdint.h index 34bea8b4..a2947cda 100644 --- a/src/arch/i386/include/stdint.h +++ b/src/arch/i386/include/bits/stdint.h @@ -1,5 +1,5 @@ -#ifndef STDINT_H -#define STDINT_H +#ifndef _BITS_STDINT_H +#define _BITS_STDINT_H typedef typeof(sizeof(int)) size_t; typedef signed long ssize_t; @@ -18,22 +18,4 @@ typedef signed long long int64_t; typedef unsigned long physaddr_t; typedef unsigned long intptr_t; -typedef int8_t s8; -typedef uint8_t u8; -typedef int16_t s16; -typedef uint16_t u16; -typedef int32_t s32; -typedef uint32_t u32; -typedef int64_t s64; -typedef uint64_t u64; - -typedef int8_t int8; -typedef uint8_t uint8; -typedef int16_t int16; -typedef uint16_t uint16; -typedef int32_t int32; -typedef uint32_t uint32; -typedef int64_t int64; -typedef uint64_t uint64; - -#endif /* STDINT_H */ +#endif /* _BITS_STDINT_H */ diff --git a/src/include/compiler.h b/src/include/compiler.h index b130f28f..2151fc6a 100644 --- a/src/include/compiler.h +++ b/src/include/compiler.h @@ -311,6 +311,11 @@ extern void dbg_hex_dump_da ( unsigned long dispaddr, */ #define __shared __asm__ ( "_shared_bss" ) +/** + * Optimisation barrier + */ +#define barrier() __asm__ __volatile__ ( "" : : : "memory" ) + #endif /* ASSEMBLY */ #endif /* COMPILER_H */ diff --git a/src/include/stdint.h b/src/include/stdint.h new file mode 100644 index 00000000..4b0e44f2 --- /dev/null +++ b/src/include/stdint.h @@ -0,0 +1,24 @@ +#ifndef _STDINT_H +#define _STDINT_H + +#include + +typedef int8_t s8; +typedef uint8_t u8; +typedef int16_t s16; +typedef uint16_t u16; +typedef int32_t s32; +typedef uint32_t u32; +typedef int64_t s64; +typedef uint64_t u64; + +typedef int8_t int8; +typedef uint8_t uint8; +typedef int16_t int16; +typedef uint16_t uint16; +typedef int32_t int32; +typedef uint32_t uint32; +typedef int64_t int64; +typedef uint64_t uint64; + +#endif /* _STDINT_H */