2008-01-13 20:49:02 +00:00
|
|
|
# Copyright (C) 2001-2005, 2007, 2008 by David A. Capello -*-Makefile-*-
|
2007-09-18 23:57:02 +00:00
|
|
|
|
|
|
|
.PHONY = _default
|
|
|
|
_default: default
|
|
|
|
|
|
|
|
######################################################################
|
|
|
|
# Setup CFLAGS and LFLAGS for GCC
|
|
|
|
|
2007-12-05 01:30:50 +00:00
|
|
|
CFLAGS += -Wall -I. -Isrc -Ithird_party \
|
|
|
|
-I$(LIBFREETYPE_DIR)/include \
|
2007-09-18 23:57:02 +00:00
|
|
|
-I$(LIBLUA_DIR)/include \
|
2007-11-28 14:19:36 +00:00
|
|
|
-I$(LIBJPEG_DIR) \
|
2007-09-18 23:57:02 +00:00
|
|
|
-I$(LIBGFLI_DIR) \
|
2007-09-20 00:32:35 +00:00
|
|
|
-I$(LIBPNG_DIR) \
|
|
|
|
-I$(ZLIB_DIR) \
|
|
|
|
-Wno-deprecated-declarations \
|
|
|
|
-DPNG_NO_MMX_CODE
|
2007-09-18 23:57:02 +00:00
|
|
|
|
2007-11-28 14:19:36 +00:00
|
|
|
# -I$(LIBGD_DIR)
|
|
|
|
|
2007-12-05 01:30:50 +00:00
|
|
|
LFLAGS += $(THIRD_PARTY_LIBS)
|
2007-09-18 23:57:02 +00:00
|
|
|
|
|
|
|
ifdef PROFILE
|
|
|
|
CFLAGS += -pg
|
|
|
|
LFLAGS += -pg
|
|
|
|
else
|
|
|
|
ifdef DEBUGMODE
|
2008-02-10 19:06:03 +00:00
|
|
|
CFLAGS += -g3 -DDEBUGMODE
|
2007-12-11 20:05:18 +00:00
|
|
|
LFLAGS += -g3
|
2007-09-18 23:57:02 +00:00
|
|
|
else
|
2007-12-13 15:55:01 +00:00
|
|
|
CFLAGS += -s -O3 -DNDEBUG
|
|
|
|
LFLAGS += -s -O3 -DNDEBUG
|
2007-09-18 23:57:02 +00:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2008-02-10 19:06:03 +00:00
|
|
|
ifdef MEMLEAK
|
|
|
|
CFLAGS += -DMEMLEAK
|
|
|
|
endif
|
|
|
|
|
2007-09-18 23:57:02 +00:00
|
|
|
ifdef DEFAULT_PREFIX
|
|
|
|
CFLAGS += -DDEFAULT_PREFIX="\"$(DEFAULT_PREFIX)\""
|
|
|
|
endif
|
|
|
|
|
2007-12-11 20:05:18 +00:00
|
|
|
ifdef USE_X86_INT_MULT
|
|
|
|
CFLAGS += -DUSE_X86_INT_MULT
|
|
|
|
endif
|
|
|
|
|
2007-09-18 23:57:02 +00:00
|
|
|
######################################################################
|
|
|
|
# Rules to make third party libraries
|
|
|
|
|
2007-11-28 14:19:36 +00:00
|
|
|
$(LIBART_LIB): $(LIBART_OBJS)
|
|
|
|
-rm -f $@
|
|
|
|
ar rs $@ $^
|
|
|
|
|
2007-12-05 01:30:50 +00:00
|
|
|
$(LIBFREETYPE_LIB): $(LIBFREETYPE_OBJS)
|
|
|
|
-rm -f $@
|
|
|
|
ar rs $@ $^
|
|
|
|
|
2007-11-28 14:19:36 +00:00
|
|
|
$(LIBGD_LIB): $(LIBGD_OBJS)
|
2007-09-18 23:57:02 +00:00
|
|
|
-rm -f $@
|
|
|
|
ar rs $@ $^
|
|
|
|
|
|
|
|
$(LIBGFLI_LIB): $(LIBGFLI_OBJS)
|
|
|
|
-rm -f $@
|
|
|
|
ar rs $@ $^
|
|
|
|
|
2007-11-28 14:19:36 +00:00
|
|
|
$(LIBJPEG_LIB): $(LIBJPEG_OBJS)
|
|
|
|
-rm -f $@
|
|
|
|
ar rs $@ $^
|
|
|
|
|
|
|
|
$(LIBLUA_LIB): $(LIBLUA_OBJS)
|
2007-09-18 23:57:02 +00:00
|
|
|
-rm -f $@
|
|
|
|
ar rs $@ $^
|
|
|
|
|
2007-09-20 00:32:35 +00:00
|
|
|
$(LIBPNG_LIB): $(LIBPNG_OBJS)
|
|
|
|
-rm -f $@
|
|
|
|
ar rs $@ $^
|
|
|
|
|
|
|
|
$(ZLIB_LIB): $(ZLIB_OBJS)
|
|
|
|
-rm -f $@
|
|
|
|
ar rs $@ $^
|
|
|
|
|
2007-09-18 23:57:02 +00:00
|
|
|
######################################################################
|
|
|
|
# Rules to build objects and the application
|
|
|
|
|
|
|
|
VPATH = src \
|
2007-09-23 20:13:58 +00:00
|
|
|
src/commands \
|
2007-11-08 00:54:31 +00:00
|
|
|
src/commands/fx \
|
2007-09-18 23:57:02 +00:00
|
|
|
src/console \
|
|
|
|
src/core \
|
|
|
|
src/dialogs \
|
|
|
|
src/effect \
|
|
|
|
src/file \
|
|
|
|
src/file/gif \
|
|
|
|
src/intl \
|
2007-12-05 01:30:50 +00:00
|
|
|
src/jinete \
|
|
|
|
src/jinete/themes \
|
2007-09-18 23:57:02 +00:00
|
|
|
src/modules \
|
|
|
|
src/raster \
|
2007-12-11 20:05:18 +00:00
|
|
|
src/raster/x86 \
|
2007-09-18 23:57:02 +00:00
|
|
|
src/script \
|
|
|
|
src/util \
|
|
|
|
src/widgets \
|
|
|
|
src/widgets/editor \
|
2007-11-28 14:19:36 +00:00
|
|
|
$(LIBART_DIR) \
|
2007-12-05 01:30:50 +00:00
|
|
|
$(LIBFREETYPE_DIR)/src/base \
|
|
|
|
$(LIBFREETYPE_DIR)/src/autohint \
|
|
|
|
$(LIBFREETYPE_DIR)/src/cache \
|
|
|
|
$(LIBFREETYPE_DIR)/src/cff \
|
|
|
|
$(LIBFREETYPE_DIR)/src/cid \
|
|
|
|
$(LIBFREETYPE_DIR)/src/pcf \
|
|
|
|
$(LIBFREETYPE_DIR)/src/psaux \
|
|
|
|
$(LIBFREETYPE_DIR)/src/pshinter \
|
|
|
|
$(LIBFREETYPE_DIR)/src/psnames \
|
|
|
|
$(LIBFREETYPE_DIR)/src/raster \
|
|
|
|
$(LIBFREETYPE_DIR)/src/sfnt \
|
|
|
|
$(LIBFREETYPE_DIR)/src/smooth \
|
|
|
|
$(LIBFREETYPE_DIR)/src/truetype \
|
|
|
|
$(LIBFREETYPE_DIR)/src/type1 \
|
|
|
|
$(LIBFREETYPE_DIR)/src/winfonts \
|
2007-11-28 14:19:36 +00:00
|
|
|
$(LIBGD_DIR) \
|
|
|
|
$(LIBGFLI_DIR) \
|
|
|
|
$(LIBJPEG_DIR) \
|
2007-09-18 23:57:02 +00:00
|
|
|
$(LIBLUA_DIR)/src \
|
|
|
|
$(LIBLUA_DIR)/src/lib \
|
2007-09-20 00:32:35 +00:00
|
|
|
$(LIBPNG_DIR) \
|
2007-12-05 01:30:50 +00:00
|
|
|
$(ZLIB_DIR)
|
2007-09-18 23:57:02 +00:00
|
|
|
|
2008-02-11 01:56:20 +00:00
|
|
|
ASE_DEPS = $(ASE_OBJS) $(THIRD_PARTY_LIBS)
|
2007-09-18 23:57:02 +00:00
|
|
|
|
2007-12-05 03:29:17 +00:00
|
|
|
######################################################################
|
|
|
|
# Rules to build the object files
|
2007-11-28 14:19:36 +00:00
|
|
|
|
|
|
|
$(OBJ_DIR)/%$(OBJ): %.c
|
|
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
|
2007-12-11 20:05:18 +00:00
|
|
|
$(OBJ_DIR)/%$(OBJ): %.s
|
|
|
|
$(CC) $(CFLAGS) -x assembler-with-cpp -o $@ -c $<
|
|
|
|
|
2007-11-28 14:19:36 +00:00
|
|
|
$(OBJ_DIR)/art.%$(OBJ): %.c
|
|
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
|
2007-12-05 01:30:50 +00:00
|
|
|
$(OBJ_DIR)/freetype.%$(OBJ): %.c
|
|
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
|
2007-11-28 14:19:36 +00:00
|
|
|
$(OBJ_DIR)/gd.%$(OBJ): %.c
|
|
|
|
$(CC) $(CFLAGS) -DNONDLL -DHAVE_CONFIG_H -o $@ -c $<
|
|
|
|
|
|
|
|
$(OBJ_DIR)/gfli.%$(OBJ): %.c
|
2007-09-18 23:57:02 +00:00
|
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
|
2007-11-28 14:19:36 +00:00
|
|
|
$(OBJ_DIR)/jpeg.%$(OBJ): %.c
|
|
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
|
|
|
|
$(OBJ_DIR)/lua.%$(OBJ): %.c
|
|
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
|
|
|
|
$(OBJ_DIR)/png.%$(OBJ): %.c
|
|
|
|
$(CC) $(CFLAGS) -I$(LIBPNG_DIR) -o $@ -c $<
|
|
|
|
|
|
|
|
$(OBJ_DIR)/zlib.%$(OBJ): %.c
|
|
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
|
2007-12-05 03:29:17 +00:00
|
|
|
######################################################################
|
|
|
|
# Application
|
2007-11-28 14:19:36 +00:00
|
|
|
|
2007-09-18 23:57:02 +00:00
|
|
|
ifndef WITHICON
|
|
|
|
$(ASE): $(ASE_DEPS)
|
|
|
|
$(CC) -o $@ $(ASE_OBJS) $(LFLAGS) $(LFLAGS_LAST)
|
|
|
|
else
|
|
|
|
$(OBJ_DIR)/%.res: src/%.rc
|
|
|
|
$(WINDRES) -O coff -o $@ -i $<
|
|
|
|
|
|
|
|
$(ASE): $(ASE_DEPS) $(OBJ_DIR)/icon.res
|
|
|
|
$(CC) -o $@ $(ASE_OBJS) $(OBJ_DIR)/icon.res $(LFLAGS) $(LFLAGS_LAST)
|
|
|
|
endif
|
2007-12-05 03:29:17 +00:00
|
|
|
|
|
|
|
######################################################################
|
|
|
|
# Rules to make tests
|
|
|
|
|
|
|
|
TESTS = $(addsuffix $(EXE), \
|
|
|
|
$(basename \
|
2008-02-04 02:37:26 +00:00
|
|
|
$(wildcard src/test/*.c) \
|
2007-12-05 03:29:17 +00:00
|
|
|
$(wildcard src/test/raster/*.c) \
|
|
|
|
$(wildcard src/test/jinete/*.c)))
|
|
|
|
|
2008-02-04 02:37:26 +00:00
|
|
|
AUTOTESTS = $(addsuffix $(EXE), \
|
|
|
|
$(basename \
|
|
|
|
$(wildcard src/test/*.c)))
|
|
|
|
|
|
|
|
src/test/%$(EXE): src/test/%.c $(COMMON_OBJS)
|
2008-01-13 20:49:02 +00:00
|
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(LFLAGS_LAST)
|
|
|
|
|
2007-12-05 03:29:17 +00:00
|
|
|
src/test/raster/%$(EXE): src/test/raster/%.c $(COMMON_OBJS)
|
|
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(LFLAGS_LAST)
|
|
|
|
|
|
|
|
src/test/jinete/%$(EXE): src/test/jinete/%.c $(COMMON_OBJS)
|
|
|
|
$(CC) $(CFLAGS) -o $@ $^ $(LFLAGS) $(LFLAGS_LAST)
|
|
|
|
|
|
|
|
test: $(TESTS)
|
2008-02-04 02:37:26 +00:00
|
|
|
|
|
|
|
runtest:
|
|
|
|
@-$(foreach TEST, $(AUTOTESTS), ./$(TEST))
|