X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2FMakefile;h=4a065da30c83d35377a455aace7d9b5ee13a0373;hp=965c05884d96e86601f8718dd28242b0c809cc75;hb=c21cf4c301f745142f3cbb4987efe6446a3a8c4e;hpb=d4c11da68a7271553ca5591adfae54fd3b45011f diff --git a/src/Makefile b/src/Makefile index 965c0588..4a065da3 100644 --- a/src/Makefile +++ b/src/Makefile @@ -3,72 +3,109 @@ # (c) 1995-98 Holger Schemel, aeglos@valinor.owl.de # #=============================================================================# -ifndef PLATFORM # platform not defined -- try auto detection -ifdef COMSPEC -PLATFORM = dos -else -PLATFORM = unix -endif -endif +#-----------------------------------------------------------------------------# +# configuration section # +#-----------------------------------------------------------------------------# -ifdef X11_PATH # path to X11 specified by top level Makefile -XINC_PATH = $(X11_PATH)/include -XLIB_PATH = $(X11_PATH)/lib -X11_INCL = -I$(XINC_PATH) -X11_LIBS = -L$(XLIB_PATH) -endif +# change this to your favorite ANSI C compiler +CC = gcc -ifndef GAME_DIR # path to game data not defined -- try '.' -GAME_DIR = . -endif +# on Solaris and similar systems, you'll need to uncomment this +# EXTRA_LIBS = -lnsl -lsocket -ifndef SCORE_ENTRIES # number of score entries per player undefined -SCORE_ENTRIES = MANY_PER_NAME -endif +# specify X11 library path on your system +XLIB_PATH = /usr/X11/lib +# choose directory for read-only game data (like graphics, sounds, levels) +# RO_GAME_DIR = /usr/games -# The Xpm library is no longer needed to build this program, -# but is used to load graphics if XPM_INCLUDE_FILE is defined. -# If you want to use the Xpm library, convert the PCX files to XPM -# files (and you need corresponding mask files in X11 Bitmap format). +# choose directory for writable game data (like highscore files) +# RW_GAME_DIR = /var/games -# XPM_INCLUDE_FILE = -DXPM_INCLUDE_FILE="" -# EXTRA_X11_LIBS = -lXpm +# uncomment this if your system has no joystick include file +# JOYSTICK = -DNO_JOYSTICK +# uncomment this if your system has no sound +# SOUNDS = -DNO_SOUNDS -ifeq ($(PLATFORM),dos) # DOS / Windows +# choose if you want to allow many global score file entries for one player +# when installing the game in a multi user environment, choose this +# SCORE_ENTRIES = ONE_PER_NAME +# when installing the game in a single user environment, choose this (default) +# SCORE_ENTRIES = MANY_PER_NAME -RM = del -PROGNAME = ..\rocks.exe -LIBS = -lm -lalleg +# The XPM-Library is no longer needed to build this program, +# but is used to load graphics if XPM_INCLUDE_FILE is defined, +# because the GIF loading routines are still a bit beta. +# If you want to use the Xpm library, convert the GIF files to Xpm +# files (and you need corresponding mask files in xbm format). + +# XPM_INCLUDE_FILE = -DXPM_INCLUDE_FILE="" +# EXTRA_X11_LIBS = -lXpm -else # Unix +#-----------------------------------------------------------------------------# +# you shouldn't need to change anything below # +#-----------------------------------------------------------------------------# +ifdef COMSPEC +PLATFORM = dos +else +PLATFORM = unix +endif + +ifeq ($(PLATFORM),unix) RM = rm -f PROGNAME = ../rocksndiamonds - -ifeq ($(PLATFORM),solaris) -EXTRA_LIBS = -lnsl -lsocket -R$(XLIB_PATH) +LIBS = -L$(XLIB_PATH) $(EXTRA_X11_LIBS) -lX11 -lm $(EXTRA_LIBS) +else +RM = del +PROGNAME = ../rocks.exe +LIBS = -s -lm -lalleg endif -INCL = $(X11_INCL) -LIBS = $(X11_LIBS) $(EXTRA_X11_LIBS) -lX11 -lm $(EXTRA_LIBS) +CPP = $(CC) -E +ifdef RO_GAME_DIR +CONFIG_RO_GAME_DIR = -DRO_GAME_DIR="\"$(RO_GAME_DIR)\"" endif +ifdef RW_GAME_DIR +CONFIG_RW_GAME_DIR = -DRW_GAME_DIR="\"$(RW_GAME_DIR)\"" +endif -CONFIG_GAME_DIR = -DGAME_DIR="\"$(GAME_DIR)\"" +ifdef SCORE_ENTRIES CONFIG_SCORE_ENTRIES = -D$(SCORE_ENTRIES) +endif + +CONFIG_GAME_DIR = $(CONFIG_RO_GAME_DIR) $(CONFIG_RW_GAME_DIR) CONFIG = $(CONFIG_GAME_DIR) $(SOUNDS) $(JOYSTICK) \ $(CONFIG_SCORE_ENTRIES) $(XPM_INCLUDE_FILE) -# OPTIONS = -DDEBUG -g -Wall # only for debugging purposes -OPTIONS = -O3 +# DEBUG = -DDEBUG -g -Wall -ansi -pedantic +DEBUG = -DDEBUG -g -Wall +# DEBUG = -O3 -Wall -ansi -pedantic +# DEBUG = -O3 -Wall +# DEBUG = -O3 + +# SYSTEM = -Aa -D_HPUX_SOURCE -Dhpux # for HP-UX (obsolete) +# SYSTEM = -DSYSV -Ae # for HP-UX +# INCL = -I/usr/include/X11R5 # for HP-UX and others +# INCL = -I/usr/local/X11/include # for SunOS and others +# LIBS = -L/usr/lib/X11R5 -lXpm -lX11 -lm +# # for HP-UX and others +# LIBS = -L/usr/local/X11/lib -lXpm -lX11 -lm -lsocket -R/usr/local/X11/lib +# # for SunOS and others + +# LIBS = -L/usr/X11R6/lib -lXpm -lX11 -lm +# LIBS = -L/usr/X11R6/lib -lX11 -lm -# SYSTEM = -DSYSV -Ae # maybe needed for HP-UX +# LIBS = -L/usr/X11R6/lib $(EXTRA_X11_LIBS) -lX11 -lm $(EXTRA_LIBS) -CFLAGS = $(OPTIONS) $(SYSTEM) $(INCL) $(CONFIG) +# LIBS = -L$(XLIB_PATH) $(EXTRA_X11_LIBS) -lX11 -lm $(EXTRA_LIBS) + +# CFLAGS = -O2 $(CONFIG) $(SYSTEM) +CFLAGS = $(DEBUG) $(CONFIG) $(SYSTEM) $(INCL) SRCS = main.c \ init.c \ @@ -123,3 +160,10 @@ $(PROGNAME): $(OBJS) clean: $(RM) *.o $(RM) $(PROGNAME) + +depend: + for i in $(SRCS); do $(CPP) $(CFLAGS) -M $$i; done > .depend + +ifeq (.depend,$(wildcard .depend)) +include .depend +endif