X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=Makefile;h=2e7440438d99c518d3d97d047d84b91017123c79;hb=4915ff573cd77908effc5413e931166fcc8b4721;hp=05dd31942ae3a786f4fb97b196d661b38d4ef66c;hpb=de11b13419f0f5ab58bbdbbfe7d4d1769696ab9a;p=supertux.git diff --git a/Makefile b/Makefile index 05dd31942..2e7440438 100644 --- a/Makefile +++ b/Makefile @@ -1,28 +1,41 @@ # Makefile for supertux -# by Bill Kendrick +# by Bill Kendrick & Tobias Glaesser # bill@newbreedsoftware.com +# tobi.web@gmx.de # http://www.newbreedsoftware.com/ -# Version 0.0.0 +# Version 0.0.6 (in development) -# April 11, 2000 - December 26, 2000 +# April 11, 2000 - December 29, 2000 # User-definable stuff: -DATA_PREFIX=$(PWD)/data +ifeq ($(PREFIX),) +ifeq ($(USERNAME),root) +PREFIX=/usr/local +else +PREFIX=$(PWD) +endif +DATA_PREFIX=$(PWD)/data/ +else +DATA_PREFIX=$(PREFIX)/share/games/supertux/data/ +endif JOY=YES +#undefine this for non debugging compilation + +DEBUG_FLAG=-DDEBUG -pg + # Defaults for Linux: TARGET=supertux TARGET_DEF=LINUX - -CFLAGS=-Wall -O2 $(SDL_CFLAGS) -DDATA_PREFIX=\"$(DATA_PREFIX)\" \ - -D$(NOSOUNDFLAG) -D$(TARGET_DEF) -DJOY_$(JOY) +CFLAGS=-Wall-O2 $(SDL_CFLAGS) -DDATA_PREFIX=\"$(DATA_PREFIX)\" \ + -D$(NOSOUNDFLAG) -D$(NOOPENGLFLAG) -D$(TARGET_DEF) -DJOY_$(JOY) $(DEBUG_FLAG) # Other definitions: @@ -30,72 +43,137 @@ CFLAGS=-Wall -O2 $(SDL_CFLAGS) -DDATA_PREFIX=\"$(DATA_PREFIX)\" \ SDL_MIXER=-lSDL_mixer SDL_IMAGE=-lSDL_image NOSOUNDFLAG=__SOUND -SDL_LIB=$(SDL_LDFLAGS) $(SDL_MIXER) $(SDL_IMAGE) +NOOPENGLFLAG=__OPENGL +DEBUG_LIB= #-lefence +SDL_LIB=$(SDL_MIXER) $(SDL_IMAGE) $(SDL_LDFLAGS) SDL_CFLAGS := $(shell sdl-config --cflags) SDL_LDFLAGS := $(shell sdl-config --libs) -installbin = install -g root -o root -m 755 -installdat = install -g root -o root -m 644 +GL_LIB = -L/usr/X11R6/lib -lGL +installbin = install -g $(USERNAME) -o $(USERNAME) -m 755 +installdat = install -g $(USERNAME) -o $(USERNAME) -m 644 +CC = gcc - -OBJECTS=obj/supertux.o obj/setup.o obj/intro.o obj/title.o obj/gameloop.o \ - obj/screen.o obj/sound.o +OBJECTS=obj/supertux.o obj/setup.o obj/intro.o obj/title.o obj/scene.o obj/collision.o obj/bitmask.o obj/type.o \ + obj/timer.o obj/text.o obj/texture.o obj/badguy.o obj/special.o obj/world.o obj/player.o obj/level.o obj/gameloop.o \ + obj/screen.o obj/sound.o obj/high_scores.o obj/menu.o obj/leveleditor.o obj/globals.o obj/button.o obj/physic.o # Make commands: all: $(TARGET) -#install: $(TARGET) -# -$(installdat) data $(DESTDIR)/usr/share/games/$(TARGET)/data -# -$(installbin) $(TARGET) $(DESTDIR)/usr/games/ +install: $(TARGET) + mkdir -p $(PREFIX)/games/$(TARGET) + mkdir -p $(PREFIX)/share/games/$(TARGET) + mkdir -p $(PREFIX)/bin/ + cp -r data $(PREFIX)/share/games/$(TARGET)/ + chmod -R 0755 $(PREFIX)/share/games/$(TARGET)/data/ + -$(installbin) $(TARGET) $(PREFIX)/games/$(TARGET)/$(TARGET) + ln -sf $(PREFIX)/games/$(TARGET)/$(TARGET) $(PREFIX)/bin/$(TARGET) +uninstall: + rm -r $(PREFIX)/games/$(TARGET) + rm -r $(PREFIX)/share/games/$(TARGET) + rm $(PREFIX)/bin/$(TARGET) nosound: make supertux SDL_MIXER= NOSOUNDFLAG=NOSOUND +noopengl: + make supertux GL_LIB= NOOPENGLFLAG=NOOPENGL + +nosoundopengl: + make supertux GL_LIB= SDL_MIXER= NOSOUNDFLAG=NOSOUND NOOPENGLFLAG=NOOPENGL + win32: make TARGET_DEF=WIN32 TARGET=supertux.exe \ - DATA_PREFIX=data + DATA_PREFIX=data/ cp /usr/local/cross-tools/i386-mingw32/lib/SDL*.dll . chmod 644 SDL*.dll clean: - -rm supertux supertux.exe - -rm obj/*.o - -rm SDL*.dll + -rm -f supertux supertux.exe + -rm -f obj/*.o + -rm -f SDL*.dll # Main executable: $(TARGET): $(OBJECTS) - $(CC) $(CFLAGS) $(OBJECTS) -o $(TARGET) $(SDL_LIB) - + $(CC) $(CFLAGS) $(OBJECTS) -o $(TARGET) $(SDL_LIB) $(GL_LIB) $(DEBUG_LIB) # Objects: -obj/supertux.o: src/supertux.c src/defines.h src/globals.h \ - src/setup.h src/intro.h src/title.h src/gameloop.h \ - src/screen.h src/sound.h +obj/supertux.o: src/supertux.c $(CC) $(CFLAGS) src/supertux.c -c -o obj/supertux.o -obj/setup.o: src/setup.c src/setup.h \ - src/defines.h src/globals.h src/screen.h +obj/setup.o: src/setup.c $(CC) $(CFLAGS) src/setup.c -c -o obj/setup.o -obj/intro.o: src/intro.c src/intro.h \ - src/defines.h src/globals.h src/screen.h +obj/intro.o: src/intro.c $(CC) $(CFLAGS) src/intro.c -c -o obj/intro.o -obj/title.o: src/title.c src/title.h \ - src/defines.h src/globals.h src/screen.h +obj/title.o: src/title.c $(CC) $(CFLAGS) src/title.c -c -o obj/title.o -obj/gameloop.o: src/gameloop.c src/gameloop.h \ - src/defines.h src/globals.h src/screen.h src/sound.h \ - src/setup.h +obj/level.o: src/level.c + $(CC) $(CFLAGS) src/level.c -c -o obj/level.o + +obj/scene.o: src/scene.c + $(CC) $(CFLAGS) src/scene.c -c -o obj/scene.o + +obj/collision.o: src/collision.c + $(CC) $(CFLAGS) src/collision.c -c -o obj/collision.o + +obj/bitmask.o: src/bitmask.c + $(CC) $(CFLAGS) src/bitmask.c -c -o obj/bitmask.o + +obj/type.o: src/type.c + $(CC) $(CFLAGS) src/type.c -c -o obj/type.o + +obj/timer.o: src/timer.c + $(CC) $(CFLAGS) src/timer.c -c -o obj/timer.o + +obj/texture.o: src/texture.c + $(CC) $(CFLAGS) src/texture.c -c -o obj/texture.o + +obj/text.o: src/text.c + $(CC) $(CFLAGS) src/text.c -c -o obj/text.o + +obj/badguy.o: src/badguy.c + $(CC) $(CFLAGS) src/badguy.c -c -o obj/badguy.o + +obj/special.o: src/special.c + $(CC) $(CFLAGS) src/special.c -c -o obj/special.o + +obj/world.o: src/world.c + $(CC) $(CFLAGS) src/world.c -c -o obj/world.o + +obj/player.o: src/player.c + $(CC) $(CFLAGS) src/player.c -c -o obj/player.o + +obj/gameloop.o: src/gameloop.c $(CC) $(CFLAGS) src/gameloop.c -c -o obj/gameloop.o -obj/screen.o: src/screen.c src/defines.h src/globals.h src/screen.h +obj/screen.o: src/screen.c $(CC) $(CFLAGS) src/screen.c -c -o obj/screen.o -obj/sound.o: src/sound.c src/defines.h src/globals.h src/sound.h +obj/sound.o: src/sound.c $(CC) $(CFLAGS) src/sound.c -c -o obj/sound.o + +obj/high_scores.o: src/high_scores.c + $(CC) $(CFLAGS) src/high_scores.c -c -o obj/high_scores.o + +obj/menu.o: src/menu.c + $(CC) $(CFLAGS) src/menu.c -c -o obj/menu.o + +obj/leveleditor.o: src/leveleditor.c + $(CC) $(CFLAGS) src/leveleditor.c -c -o obj/leveleditor.o + +obj/globals.o: src/globals.c + $(CC) $(CFLAGS) src/globals.c -c -o obj/globals.o + +obj/button.o: src/button.c + $(CC) $(CFLAGS) src/button.c -c -o obj/button.o + +obj/physic.o: src/physic.c + $(CC) $(CFLAGS) src/physic.c -c -o obj/physic.o \ No newline at end of file