rocksndiamonds-3.0.6
[rocksndiamonds.git] / src / Makefile
index ad10d1fea9d186bbe6456f27d52b9dc0e07761d0..3ca01a688fd62799edd80e95058442624e042d60 100644 (file)
@@ -49,7 +49,6 @@ PLATFORM = unix
 endif
 
 ifeq ($(PLATFORM),macosx)
-# PROGNAME = ../Rocks\'n\'Diamonds.app/Contents/MacOS/$(PROGBASE)
 PLATFORM = unix
 TARGET=sdl
 endif
@@ -65,6 +64,7 @@ TARGET = allegro
 endif
 
 ifeq ($(PLATFORM),cross-win32)
+EXTRA_LDFLAGS = -lshfolder
 PROGNAME = ../$(PROGBASE).exe
 TARGET = sdl
 endif
@@ -76,8 +76,12 @@ endif
 
 ifeq ($(TARGET),sdl)
 SYS_CFLAGS  = -DTARGET_SDL $(shell sdl-config --cflags)
+ifeq ($(PLATFORM),macosx)
+SYS_LDFLAGS = -lSDL_image -lSDL_mixer -lsmpeg $(shell sdl-config --libs)
+else
 SYS_LDFLAGS = -lSDL_image -lSDL_mixer $(shell sdl-config --libs)
 endif
+endif
 
 ifeq ($(TARGET),allegro)
 SYS_CFLAGS = -DTARGET_ALLEGRO -I$(CROSS_PATH_MSDOS)/include
@@ -103,11 +107,12 @@ CONFIG_GAME_DIR = $(CONFIG_RO_GAME_DIR) $(CONFIG_RW_GAME_DIR)
 
 
 CONFIG = $(CONFIG_GAME_DIR) $(CONFIG_SCORE_ENTRIES) $(JOYSTICK)
-DEBUG = -DDEBUG -g
+DEBUG = -DDEBUG -g
 # PROFILING = $(PROFILING_FLAGS)
 
 # OPTIONS = $(DEBUG) -Wall                     # only for debugging purposes
-OPTIONS = $(DEBUG) -O3 -Wall                   # only for debugging purposes
+# OPTIONS = $(DEBUG) -O3 -Wall                 # only for debugging purposes
+OPTIONS = $(DEBUG) -Wall                       # only for debugging purposes
 # OPTIONS = $(DEBUG) -Wall -ansi -pedantic     # only for debugging purposes
 # OPTIONS = -O3 -Wall -ansi -pedantic
 # OPTIONS = -O3 -Wall
@@ -123,6 +128,8 @@ LDFLAGS = $(SYS_LDFLAGS) $(EXTRA_LDFLAGS) -lm
 
 
 SRCS = main.c          \
+       conf_gfx.c      \
+       conf_snd.c      \
        init.c          \
        config.c        \
        events.c        \
@@ -137,6 +144,8 @@ SRCS =      main.c          \
        netserv.c
 
 OBJS = main.o          \
+       conf_gfx.o      \
+       conf_snd.o      \
        init.o          \
        config.o        \
        events.o        \
@@ -150,6 +159,19 @@ OBJS =     main.o          \
        network.o       \
        netserv.o
 
+CNFS = conf_gfx.h      \
+       conf_snd.h      \
+       conf_chr.c      \
+       conf_chr.h      \
+       conf_cus.c      \
+       conf_cus.h      \
+       conf_e2g.c      \
+       conf_esg.c      \
+       conf_e2s.c      \
+       conf_fnt.c
+
+CNFS_CMD = ../Scripts/create_element_defs.pl
+
 TIMESTAMP_FILE = conftime.h
 
 LIBDIR = libgame
@@ -172,7 +194,19 @@ libgame_dir:
 $(LIBGAME):
        @$(MAKE) -C $(LIBDIR)
 
-$(TIMESTAMP_FILE): $(SRCS)
+auto-conf:
+       @for i in $(CNFS); do                   \
+               echo "$(CNFS_CMD) $$i > $$i";   \
+               $(CNFS_CMD) $$i > $$i;          \
+       done
+
+conf_gfx.h: conf_gfx.c
+       @$(MAKE) auto-conf
+
+conf_snd.h: conf_snd.c
+       @$(MAKE) auto-conf
+
+$(TIMESTAMP_FILE): $(SRCS) $(LIBGAME)
        @date '+"[%Y-%m-%d %H:%M]"' \
        | sed -e 's/^/#define COMPILE_DATE_STRING /' \
        > $(TIMESTAMP_FILE)