X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2FMakefile;h=18efb9d99ddb5aca2cc28450dfceba27afba9d21;hb=998be01ad92a672b69b11e24d472f6c0c076817f;hp=f2b146b71a5ea3ccda68af4a4ba8db414b8355d7;hpb=a8b2caa1d373c84c1b3fc2f615370c2a319051ca;p=rocksndiamonds.git diff --git a/src/Makefile b/src/Makefile index f2b146b7..18efb9d9 100644 --- a/src/Makefile +++ b/src/Makefile @@ -3,6 +3,8 @@ # (c) 1995-2000 Holger Schemel, info@artsoft.org # #=============================================================================# +.EXPORT_ALL_VARIABLES: + ifndef PLATFORM # platform not specified -- try auto detection ifdef COMSPEC PLATFORM = msdos @@ -18,6 +20,8 @@ X11_INCL = -I$(XINC_PATH) X11_LIBS = -L$(XLIB_PATH) endif +AR = ar +RANLIB = ranlib ifeq ($(PLATFORM),msdos) # MS-DOS native compiling @@ -25,30 +29,45 @@ RM = del PROGNAME = ../rocks.exe SYS_CFLAGS = -DTARGET_X11 -SYS_LDFLAGS = -s -lalleg -lm +SYS_LDFLAGS = -s -lalleg -else # Unix; Win32 cross-compiling +else # Unix or cross-compiling for MS-DOS and Win32 RM = rm -f PROGNAME = ../rocksndiamonds ifeq ($(PLATFORM),solaris) EXTRA_LDFLAGS = -lnsl -lsocket -R$(XLIB_PATH) +PLATFORM = unix +endif + +ifeq ($(PLATFORM),unix) +PROFILING = -pg +endif + +ifeq ($(PLATFORM),cross-msdos) +PROGNAME = ../rocks.exe +TARGET = allegro endif -ifeq ($(PLATFORM),win32) +ifeq ($(PLATFORM),cross-win32) PROGNAME = ../rocksndiamonds.exe TARGET = sdl -else -PROFILING = -pg +endif + +ifeq ($(TARGET),x11) +SYS_CFLAGS = -DTARGET_X11 $(X11_INCL) +SYS_LDFLAGS = $(X11_LIBS) -lX11 endif ifeq ($(TARGET),sdl) SYS_CFLAGS = -DTARGET_SDL $(shell sdl-config --cflags) -SYS_LDFLAGS = -lSDL_image -lSDL_mixer $(shell sdl-config --libs) -lm -else -SYS_CFLAGS = -DTARGET_X11 $(X11_INCL) -SYS_LDFLAGS = $(X11_LIBS) -lX11 -lm +SYS_LDFLAGS = -lSDL_image -lSDL_mixer $(shell sdl-config --libs) +endif + +ifeq ($(TARGET),allegro) +SYS_CFLAGS = -DTARGET_ALLEGRO -I$(CROSS_PATH_MSDOS)/include +SYS_LDFLAGS = -lalleg endif endif # (PLATFORM != msdos) @@ -69,7 +88,7 @@ endif CONFIG_GAME_DIR = $(CONFIG_RO_GAME_DIR) $(CONFIG_RW_GAME_DIR) -CONFIG = $(CONFIG_GAME_DIR) $(CONFIG_SCORE_ENTRIES) $(SOUNDS) $(JOYSTICK) +CONFIG = $(CONFIG_GAME_DIR) $(CONFIG_SCORE_ENTRIES) $(JOYSTICK) DEBUG = -DDEBUG -g OPTIONS = $(DEBUG) -Wall # only for debugging purposes @@ -78,70 +97,61 @@ OPTIONS = $(DEBUG) -Wall # only for debugging purposes # OPTIONS = -O3 -Wall -ansi -pedantic # OPTIONS = -O3 -Wall # OPTIONS = -O3 +# OPTIONS = -DSYSV -Ae # may be needed for HP-UX CFLAGS = $(OPTIONS) $(SYS_CFLAGS) $(CONFIG) -LDFLAGS = $(SYS_LDFLAGS) $(EXTRA_LDFLAGS) +LDFLAGS = $(SYS_LDFLAGS) $(EXTRA_LDFLAGS) -lm + SRCS = main.c \ init.c \ events.c \ tools.c \ screens.c \ - misc.c \ game.c \ editor.c \ - buttons.c \ files.c \ tape.c \ - sound.c \ joystick.c \ cartoons.c \ - random.c \ - pcx.c \ - image.c \ network.c \ - netserv.c \ - msdos.c \ - system.c \ - x11.c \ - sdl.c + netserv.c OBJS = main.o \ init.o \ events.o \ tools.o \ screens.o \ - misc.o \ game.o \ editor.o \ - buttons.o \ files.o \ tape.o \ - sound.o \ joystick.o \ cartoons.o \ - random.o \ - pcx.o \ - image.o \ network.o \ - netserv.o \ - msdos.o \ - system.o \ - x11.o \ - sdl.o + netserv.o -all: $(PROGNAME) +LIBDIR = libgame +LIBGAME = $(LIBDIR)/libgame.a -$(PROGNAME): $(OBJS) - $(CC) $(PROFILING) $(OBJS) $(LDFLAGS) -o $(PROGNAME) + +all: $(PROGNAME) + +$(PROGNAME): $(LIBGAME) $(OBJS) + $(CC) $(PROFILING) $(OBJS) $(LIBGAME) $(LDFLAGS) -o $(PROGNAME) + +$(LIBGAME): + $(MAKE) -C $(LIBDIR) .c.o: $(CC) $(PROFILING) $(CFLAGS) -c $*.c clean: - $(RM) *.o - $(RM) ../*.exe + $(MAKE) -C $(LIBDIR) clean + $(RM) $(OBJS) + $(RM) $(LIBGAME) $(RM) $(PROGNAME) + $(RM) ../*.exe #-----------------------------------------------------------------------------# @@ -149,6 +159,7 @@ clean: #-----------------------------------------------------------------------------# depend: + $(MAKE) -C $(LIBDIR) depend for i in $(SRCS); do $(CPP) $(CFLAGS) -M $$i; done > .depend ifeq (.depend,$(wildcard .depend))