All pastes #835130 Raw Edit

Mine

public text v1 · immutable
#835130 ·published 2007-12-28 18:32 UTC
rendered paste body
#ifdef __WIN32

include LocalDefines

# Paths generated from LocalDefines variables
ACE=spicerack_win.ace
GTK_INCLUDE= $(GTK)/include
GTK_INCLUDE_GTK= $(GTK_INCLUDE)/gtk-2.0
GTK_INCLUDE_ATK= $(GTK_INCLUDE)/atk-1.0
GTK_INCLUDE_CAIRO= $(GTK_INCLUDE)/cairo
GTK_INCLUDE_PANGO= $(GTK_INCLUDE)/pango-1.0
GTK_INCLUDE_GLIB= $(GTK_INCLUDE)/glib-2.0
GTK_INCLUDE_LIBGLADE= $(GTK_INCLUDE)/libglade-2.0
GTK_INCLUDE_LIBXML= $(GTK_INCLUDE)/libxml2
GTK_LIB= $(GTK)/lib
GTK_LIB_GTK= $(GTK_LIB)/gtk-2.0
GTK_LIB_GTK_INCLUDE= $(GTK_LIB_GTK)/include
GTK_LIB_GLIB_INCLUDE= $(GTK_LIB)/glib-2.0/include
FFMPEG_INCLUDE_FFMPEG= $(FFMPEG)/include/ffmpeg
FFMPEG_LIB= $(FFMPEG)/lib
SDL_INCLUDE= $(SDL)/include
SDL_LIB= $(SDL)/lib
LIBCURL_INCLUDE= $(LIBCURL)/include
LIBCURL_LIB= $(LIBCURL)/lib
GTK_SPICE_PLAYER=./gtk_spice_player
GTK_SPICE_PLAYER_C= $(GTK_SPICE_PLAYER)/c
ifndef LIBCURL_EXTERNALS
LIBCURL_EXTERNALS = $(EIFFEL_LIBS)/eiffel-libcurl/library/externals
endif
LIBCURL_EXTERNALS_FILES = $(LIBCURL_EXTERNALS)/curl_callback.c
HELPERS=support/browser-win32/externals
GLIB_CALLBACKS=support/xml_server
PIPE_WAIT=support/pipe_wait/C
# END: Paths generated from LocalDefines variables

PROGNAME= spicerack.exe
PROGFILES= spicerack?.c spicerack??.c
PROGOBJECTS= spicerack?.o spicerack??.o # generated by the make script written by SE
CC=$(MINGW)/bin/gcc
FLAGS= -mms-bitfields -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
INCLUDES= -I$(OPENGL) -I$(GTK_INCLUDE) -I$(GTK_LIB_GTK_INCLUDE) -I$(GTK_INCLUDE_GTK) -I$(GTK_INCLUDE_ATK) -I$(GTK_INCLUDE_CAIRO) -I$(GTK_INCLUDE_PANGO) -I$(GTK_INCLUDE_GLIB) -I$(GTK_LIB_GLIB_INCLUDE) -I$(GTK_INCLUDE_LIBGLADE) -I$(GTK_INCLUDE_LIBXML) -I$(GTK_LIB_GTK) -I$(FFMPEG_INCLUDE_FFMPEG) -I$(SDL_INCLUDE) -I$(GTK_SPICE_PLAYER_C) -I$(LIBCURL_INCLUDE) -I$(LIBCURL_EXTERNALS) -I$(PIPE_WAIT) -I$(HELPERS) -I$(GLIB_CALLBACKS)
DEFINES= -DWIN32 -D_GNU_SOURCE=1 -Dmain=SDL_main
FILES= $(LIBCURL_EXTERNALS_FILES)
OBJECTS= utils.o gtk_spice_player.o pipe_wait.o helpers.o func_closure.o # should be compiled by this Makefile
FLAGSO= -x none
LIBRARIESDIR= -L$(OPENGL) -L$(GTK_LIB) -L$(SDL_LIB) -L$(LIBCURL_LIB) -L$(FFMPEG_LIB)
LIBRARIES= -lglade-2.0 -lgtk-win32-2.0 -lxml2 -lws2_32 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lfontconfig -lfreetype -lz -lpango-1.0 -lm -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -lmingw32 -mwindows -lSDLmain -lSDL -lcurl -lavcodec-51 -lavformat-51 -lavutil-49 ${OPENGL}/opengl32.lib -lole32 -loleaut32 -luuid
LIBRARIESFILES= $(LIBCURL_EXTERNALS)/curl_callback.c
DEFINESO= -D_GNU_SOURCE=1 -Dmain=SDL_main -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API

TEST_BASE=test_base
TEST_INTERFACE=test_interface

all: $(PROGNAME)
	
$(PROGNAME): $(OBJECTS)
	se c2c $(ACE)
	grep -- -c <spicerack.bat >spicerack-nolink.bat || true # Remove link line from compile script
	sed -e "s,-x c.*\$$, $(FLAGS) $(INCLUDES) $(DEFINES) &," -e "s,gcc,$(CC),"<spicerack-nolink.bat >spicerack-recompile.bat  # Add flags
	C_INCLUDE_PATH=$(GTK_INCLUDE) $(CC) -c $(FLAGS) $(INCLUDES) $(DEFINES) $(FILES)
	. spicerack-recompile.bat
	$(CC) -o $(PROGNAME) $(PROGOBJECTS) $(OBJECTS) $(FLAGSO) $(LIBRARIESDIR) $(LIBRARIES) $(DEFINESO) $(LIBRARIESFILES)

utils.o: gtk_spice_player/C/utils.c
	C_INCLUDE_PATH=$(GTK_INCLUDE) $(CC) -pipe -c $(FLAGS) $(INCLUDES) $(DEFINES) -x c -o $@ $<

gtk_spice_player.o: gtk_spice_player/C/gtk_spice_player.c
	C_INCLUDE_PATH=$(GTK_INCLUDE) $(CC) -pipe -c $(FLAGS) $(INCLUDES) $(DEFINES) -x c -o $@ $<
	
pipe_wait.o: support/pipe_wait/C/pipe_wait.c
	C_INCLUDE_PATH=$(GTK_INCLUDE) $(CC) -pipe -c $(FLAGS) $(INCLUDES) $(DEFINES) -x c -o $@ $<

helpers.o: support/browser-win32/externals/helpers.c
	C_INCLUDE_PATH=$(GTK_INCLUDE) $(CC) -pipe -c $(FLAGS) $(INCLUDES) $(DEFINES) -x c -o $@ $<

func_closure.o: support/xml_server/func_closure.c
	C_INCLUDE_PATH=$(GTK_INCLUDE) $(CC) -pipe -c $(FLAGS) $(INCLUDES) $(DEFINES) -x c -o $@ $<

.PHONY: clean clean_test

clean:
	clean spicerack multihead/spice_player; rm -f spicerack.exe spice_player.exe $(OBJECTS) spicerack-nolink.bat spicerack-recompile.bat curl_callback.o

clean_test:
	clean $(TEST_BASE); rm $(TEST_BASE).exe; rm -rf TESTGEN

clean_videos:
	clean videos_test; rm videos_test.exe; rm -rf TESTGEN

clean_interface:
	clean $(TEST_INTERFACE); rm $(TEST_INTERFACE).exe; rm -rf TESTGEN

test:
	getest -g spicerack.test
	se c2c -no_warning -no_strip -cc gcc -o $(TEST_BASE) $(TEST_BASE) $(LIBCURL_EXTERNALS_FILES) -L$(FFMPEG_LIB) -L$(LIBCURL_LIB) -I$(LIBCURL_INCLUDE) -I$(LIBCURL_EXTERNALS) -I$(FFMPEG_INCLUDE_FFMPEG) -lavformat-51 -lavcodec-51 -lm -lavutil-49 -lcurl -lwinmm -lws2_32
	. test_spicerack.bat
	./test_spicerack.exe

videos:
	getest -g videos.test
	se c2c -no_warning -no_strip -cc gcc -o videos_test videos_test $(LIBCURL_EXTERNALS_FILES) -L$(FFMPEG_LIB) -L$(LIBCURL_LIB) -I$(LIBCURL_INCLUDE) -I$(LIBCURL_EXTERNALS) -I$(FFMPEG_INCLUDE_FFMPEG) -lavformat-51 -lavcodec-51 -lm -lavutil-49 -lcurl -lwinmm -lws2_32
	. videos_test.bat
	./videos_test.exe

iface: pipe_wait.o gtk_spice_player.o utils.o func_closure.o
	getest -g interface.test
	se c2c -no_warning -no_strip -cc gcc -o $(TEST_INTERFACE) $(TEST_INTERFACE) -I$(SDL_INCLUDE) $(LIBCURL_EXTERNALS_FILES) -L$(FFMPEG_LIB) -L$(LIBCURL_LIB) -L$(GTK_LIB) -L$(SDL_LIB) -I$(HELPERS) -I$(LIBCURL_INCLUDE) -I$(LIBCURL_EXTERNALS) -I$(FFMPEG_INCLUDE_FFMPEG) -I$(GTK_INCLUDE_GLIB) -I$(GTK_INCLUDE_GTK) -Isupport/pipe_wait/c -Isupport/xml_server -I$(GTK_INCLUDE_PANGO) -I$(GTK_INCLUDE_CAIRO) -Igtk_spice_player/C -I$(GTK_INCLUDE_LIBGLADE) -I$(GTK_LIB_GLIB_INCLUDE) -I$(GTK_LIB_GTK_INCLUDE) -I$(GTK_INCLUDE_ATK) -lavformat-51 -lavcodec-51 -lm -lavutil-49 -lcurl -lwinmm -lws2_32 -lSDL -lSDLmain $(LIBRARIES) pipe_wait.o gtk_spice_player.o utils.o func_closure.o $(FLAGS)
	. $(TEST_INTERFACE).bat
	./$(TEST_INTERFACE).exe