Make plugin building on Windows work. DLLs need their dependencies resolved at

link-time, hence the addition of PLUGIN_LIBS.

Ignore the created .dll files.
This commit is contained in:
John Popplewell 2007-08-13 06:34:04 +00:00
parent 51df37c21c
commit 429bcabc8e
2 changed files with 39 additions and 24 deletions

3
magic/.cvsignore Normal file
View file

@ -0,0 +1,3 @@
*.dll
*.so

View file

@ -21,7 +21,9 @@ TP_MAGIC_CFLAGS=$(shell if [ -x tp-magic-config ] ; then tp-magic-config --cflag
SDL_CFLAGS=$(shell sdl-config --cflags) SDL_CFLAGS=$(shell sdl-config --cflags)
CFLAGS=-g -Wall $(SDL_CFLAGS) $(TP_MAGIC_CFLAGS) CFLAGS=-g -Wall $(SDL_CFLAGS) $(TP_MAGIC_CFLAGS)
SDL_LIBS=-L/usr/local/lib -lmingw32 -lSDL -lSDL_image -lSDL_ttf $(SDL_MIXER_LIB)
SDL_MIXER_LIB=-lSDL_mixer
ARCH_LINKS=-lintl -lpng12
all: negative.$(SO_TYPE) \ all: negative.$(SO_TYPE) \
fade_darken.$(SO_TYPE) \ fade_darken.$(SO_TYPE) \
@ -56,98 +58,108 @@ clean:
@echo "Cleaning up the Magic plug-ins directory ($(PWD))" @echo "Cleaning up the Magic plug-ins directory ($(PWD))"
@-rm -f *.$(SO_TYPE) @-rm -f *.$(SO_TYPE)
# win32 versions of the targets
cleanwin32:
make clean \
SO_TYPE=dll
win32:
make \
SO_TYPE=dll \
PLUGIN_LIBS="$(SDL_LIBS) $(ARCH_LINKS)" \
# Shared objects: # Shared objects:
# --------------- # ---------------
negative.$(SO_TYPE): src/negative.c negative.$(SO_TYPE): src/negative.c
@echo "Building Negative magic tool" @echo "Building Negative magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
fade_darken.$(SO_TYPE): src/fade_darken.c fade_darken.$(SO_TYPE): src/fade_darken.c
@echo "Building Fade and Darken magic tools" @echo "Building Fade and Darken magic tools"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
mirror_flip.$(SO_TYPE): src/mirror_flip.c mirror_flip.$(SO_TYPE): src/mirror_flip.c
@echo "Building Mirror and Flip magic tools" @echo "Building Mirror and Flip magic tools"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
rainbow.$(SO_TYPE): src/rainbow.c rainbow.$(SO_TYPE): src/rainbow.c
@echo "Building Rainbow magic tool" @echo "Building Rainbow magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
blocks_chalk_drip.$(SO_TYPE): src/blocks_chalk_drip.c blocks_chalk_drip.$(SO_TYPE): src/blocks_chalk_drip.c
@echo "Building Blocks, Chalk and Drip magic tools" @echo "Building Blocks, Chalk and Drip magic tools"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
fill.$(SO_TYPE): src/fill.c fill.$(SO_TYPE): src/fill.c
@echo "Building Fill magic tool" @echo "Building Fill magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
blur.$(SO_TYPE): src/blur.c blur.$(SO_TYPE): src/blur.c
@echo "Building Blur magic tool" @echo "Building Blur magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
grass.$(SO_TYPE): src/grass.c grass.$(SO_TYPE): src/grass.c
@echo "Building Grass magic tool" @echo "Building Grass magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
tint.$(SO_TYPE): src/tint.c tint.$(SO_TYPE): src/tint.c
@echo "Building Tint magic tool" @echo "Building Tint magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
smudge.$(SO_TYPE): src/smudge.c smudge.$(SO_TYPE): src/smudge.c
@echo "Building Smudge magic tool" @echo "Building Smudge magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
cartoon.$(SO_TYPE): src/cartoon.c cartoon.$(SO_TYPE): src/cartoon.c
@echo "Building Cartoon magic tool" @echo "Building Cartoon magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
bricks.$(SO_TYPE): src/bricks.c bricks.$(SO_TYPE): src/bricks.c
@echo "Building Large Bricks and Small Bricks magic tools" @echo "Building Large Bricks and Small Bricks magic tools"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
kalidescope.$(SO_TYPE): src/kalidescope.c kalidescope.$(SO_TYPE): src/kalidescope.c
@echo "Building Kaleidoscope magic tool" @echo "Building Kaleidoscope magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
glasstile.$(SO_TYPE): src/glasstile.c glasstile.$(SO_TYPE): src/glasstile.c
@echo "Building Glass Tile magic tool" @echo "Building Glass Tile magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
emboss.$(SO_TYPE): src/emboss.c emboss.$(SO_TYPE): src/emboss.c
@echo "Building Emboss magic tool" @echo "Building Emboss magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
metalpaint.$(SO_TYPE): src/metalpaint.c metalpaint.$(SO_TYPE): src/metalpaint.c
@echo "Building Metal Paint magic tool" @echo "Building Metal Paint magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
waves.$(SO_TYPE): src/waves.c waves.$(SO_TYPE): src/waves.c
@echo "Building Waves magic tool" @echo "Building Waves magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
flower.$(SO_TYPE): src/flower.c flower.$(SO_TYPE): src/flower.c
@echo "Building Flower magic tool" @echo "Building Flower magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
foam.$(SO_TYPE): src/foam.c foam.$(SO_TYPE): src/foam.c
@echo "Building Foam magic tool" @echo "Building Foam magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
ripples.$(SO_TYPE): src/ripples.c ripples.$(SO_TYPE): src/ripples.c
@echo "Building Ripples magic tool" @echo "Building Ripples magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
light.$(SO_TYPE): src/light.c light.$(SO_TYPE): src/light.c
@echo "Building Light magic tool" @echo "Building Light magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
shift.$(SO_TYPE): src/shift.c shift.$(SO_TYPE): src/shift.c
@echo "Building Shift magic tool" @echo "Building Shift magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)
calligraphy.$(SO_TYPE): src/calligraphy.c calligraphy.$(SO_TYPE): src/calligraphy.c
@echo "Building Calligraphy magic tool" @echo "Building Calligraphy magic tool"
@$(CC) $(CFLAGS) -shared -o $@ $< @$(CC) $(CFLAGS) -shared -o $@ $< $(PLUGIN_LIBS)