diff options
-rw-r--r-- | Makefile | 50 | ||||
-rw-r--r-- | glpong3d.c | 19 | ||||
-rw-r--r-- | glpong3d.h | 2 |
3 files changed, 38 insertions, 33 deletions
@@ -1,26 +1,26 @@ -CC=gcc
-STRIP=strip
-WARN=-Wall -W -ansi -pedantic
-CFLAGS=-Os -pipe -std=c99 ${WARN}
-LDFLAGS=-Wl,-O1,-s
-INCLUDES=`sdl-config --cflags`
-LIBRARIES=`sdl-config --libs` -lSDL_image -lSDL_net -lGL -lGLU -lGLC
-EXT=.exe
-
-EXE=glpong3d${EXT}
-
-OBJS=glpong3d.o # ball.o paddle.o
-
-all: ${OBJS}
- ${CC} ${LDFLAGS} ${OBJS} -o ${EXE} ${LIBRARIES}
-
-clean:
- rm -f ${OBJS}
- rm -f ${EXE}
-
-rebuild: clean all
-remake: rebuild
-
-%.o: %.c
- ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $<
+CC=gcc +STRIP=strip +WARN=-Wall -W -ansi -pedantic +CFLAGS=-g -Os -pipe -std=c99 ${WARN} +LDFLAGS=-Wl,-O1,-s +INCLUDES=`sdl-config --cflags` +LIBRARIES=`sdl-config --libs` -lSDL_image -lSDL_net -lGL -lGLU -lGLC +EXT=.exe + +EXE=glpong3d${EXT} + +OBJS=glpong3d.o # ball.o paddle.o + +all: ${OBJS} + ${CC} ${LDFLAGS} ${OBJS} -o ${EXE} ${LIBRARIES} + +clean: + rm -f ${OBJS} + rm -f ${EXE} + +rebuild: clean all +remake: rebuild + +%.o: %.c + ${CC} ${CFLAGS} ${INCLUDES} -c -o $@ $< @@ -451,18 +451,23 @@ void GLPong_CleanUp() { } -__inline__ unsigned int NextPow2(unsigned int value) { +static __inline__ unsigned int +NextPow2(unsigned int value) { +#if (defined __i386__ || defined __amd64__ || defined __x86_64__) \ + && (defined __GNUC__) unsigned int x; -#ifdef __i386__ - __asm("dec %1\n\t" - "movl $2,%0\n\t" - "bsr %1,%1\n\t" - "shl %b1,%0\n\t" + __asm( + "dec %1 \n\t" /* so that if the number is a power of + * two we don't change it + */ + "movl $2,%0 \n\t" + "bsr %1,%1 \n\t" + "shl %b1,%0 \n\t" : "=r" (x) : "c" (value) ); #else - x = 1; + unsigned int x = 0; while (x < value) { x *= 2; } @@ -53,6 +53,6 @@ void GLPong_Move(); void GLPong_Collide(Ball_t * ball, const Paddle_t * paddle); GLuint SDL_GL_SurfaceToTexture(SDL_Surface * surface); -__inline__ unsigned int NextPow2(unsigned int value); +static __inline__ unsigned int NextPow2(unsigned int value); #endif |