X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2FMakefile;h=ea1325d8ef0a2ad6738063e6b9a70b0fe584569a;hb=8c7cf0796617d786268af85fc5e5f1ad7846f3a1;hp=de82a897b71086a4eb3fb45bdc03fffd796365bc;hpb=726bae2e59d4e98e2f84613dd1d7e017cbd3c753;p=rocksndiamonds.git diff --git a/src/Makefile b/src/Makefile index de82a897..ea1325d8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -42,26 +42,23 @@ PROGNAME = ../$(PROGBASE) # configuring platform # ----------------------------------------------------------------------------- -ifeq ($(PLATFORM),solaris) # native compiling to Solaris +ifeq ($(PLATFORM),solaris) # compiling on Solaris EXTRA_LDFLAGS = -lnsl -lsocket -R$(XLIB_PATH) -PLATFORM = unix +override PLATFORM = unix endif -ifeq ($(PLATFORM),macosx) # native compiling to Mac OS X +ifeq ($(PLATFORM),macosx) # compiling on Mac OS X EXTRA_LDFLAGS = -lstdc++ -PLATFORM = unix -TARGET = sdl +override PLATFORM = unix endif -ifeq ($(PLATFORM),unix) # native compiling to Unix (generic) +ifeq ($(PLATFORM),unix) # compiling on Unix/Linux (generic) PROFILING_FLAGS = -pg endif ifeq ($(PLATFORM),cross-win32) # cross-compiling to Windows PROGNAME = ../$(PROGBASE).exe EXTRA_LDFLAGS = -lshfolder -lwsock32 -# TARGET = sdl -TARGET = sdl2 endif @@ -69,6 +66,26 @@ endif # configuring target # ----------------------------------------------------------------------------- +ifndef TARGET # auto-detect compiling for SDL or SDL2 + SDL_VERSION := $(shell sdl2-config --version 2> /dev/null) + ifdef SDL_VERSION + TARGET = sdl2 + else + SDL_VERSION := $(shell sdl-config --version 2> /dev/null) + ifdef SDL_VERSION + TARGET = sdl + else + $(error SDL/SDL2 library not found) + endif + endif +endif + +ifeq ($(STATIC),true) # check for static linking +override TARGET := $(TARGET)-static +endif + +# $(info Using SDL version $(SDL_VERSION) [TARGET == $(TARGET)]) + ifeq ($(TARGET),sdl) # compiling for SDL target SYS_CFLAGS = -DTARGET_SDL $(shell sdl-config --cflags) SDL_LIBS = -lSDL_image -lSDL_mixer -lSDL_net -lsmpeg @@ -224,12 +241,14 @@ endif ICON = $(ICONBASE).o endif +GRAPHICS_DIR = ../graphics + # ----------------------------------------------------------------------------- # build targets # ----------------------------------------------------------------------------- -all: $(AUTOCONF) libgame_dir game_em_dir game_sp_dir $(PROGNAME) +all: $(AUTOCONF) libgame_dir game_em_dir game_sp_dir $(PROGNAME) graphics_dir $(PROGNAME): $(RNDLIBS) $(TIMESTAMP_FILE) $(OBJS) $(ICON) $(CC) $(PROFILING) $(OBJS) $(ICON) $(RNDLIBS) $(LDFLAGS) -o $(PROGNAME) @@ -255,6 +274,12 @@ auto-conf: $(CNFS_CMD) $$i > $$i; \ done +auto-conf-clean: + @for i in $(CNFS); do \ + echo "$(RM) $$i"; \ + $(RM) $$i; \ + done + conf_gfx.h: conf_gfx.c $(CNFS_CMD) @$(MAKE) auto-conf @@ -278,6 +303,9 @@ $(ICON): .c.o: $(CC) $(PROFILING) $(CFLAGS) -c $*.c +graphics_dir: + @$(MAKE) -C $(GRAPHICS_DIR) + clean-obj: $(MAKE) -C $(LIBGAME_DIR) clean $(MAKE) -C $(GAME_EM_DIR) clean @@ -298,6 +326,9 @@ clean-bin: clean: clean-obj clean-ico clean-bin +clean-git: clean auto-conf-clean + @$(MAKE) -C $(GRAPHICS_DIR) clean + # ----------------------------------------------------------------------------- # run and test targets