Mercurial > MadButterfly
view examples/tank/Makefile.pmake @ 1396:a5672125e515
Copy the transformation matrix when we clone it. It looks like the MB do not copy the matrix automatically.
Support isuse attribute to decide how to generate the tweened matrix.
author | wycc |
---|---|
date | Sat, 02 Apr 2011 05:39:26 +0800 |
parents | a7358d9127c8 |
children |
line wrap: on
line source
SVGS = brick.svg bullet.svg bush.svg mud.svg rock.svg \ tank1.svg tank2.svg tank_en.svg bang.svg SVGHS = $(SVGS:C/\.svg/.h/) SVGCS = $(SVGS:C/\.svg/.c/) SVGOS = $(SVGS:C/\.svg/.o/) MBS = $(SVGS:C/\.svg/.mb/) SVG2CODE= svg2code.py MB_C_HEADER= mb_c_header.m4 MB_C_SOURCE= mb_c_source.m4 M4 = m4 PREFIX?= /usr/local M4MACRODIR?= $(PREFIX)/share/mb M4FLAGS ?= -I $(M4MACRODIR) LDFLAGS += INCDIR?= $(PREFIX)/include LIBDIR?= $(PREFIX)/lib LIBS += -lmbfly -lX11 -L$(LIBDIR) `pkg-config --libs cairo` CFLAGS += -I$(INCDIR) `pkg-config --cflags cairo` BIN = tank all: tank tank: tank_main.o $(SVGOS) $(CC) $(LDFLAGS) -o $@ $(.ALLSRC) $(LIBS) tank_main.o: tank_main.c svgs.h $(CC) $(CFLAGS) -c tank_main.c svgs.h: $(SVGHS) echo "#ifndef __SVGS_H_" > $@ echo "#define __SVGS_H_" >> $@ echo >> $@ for H in $(SVGHS); do \ echo "#include \"$$H\"" >> $@; \ done echo >> $@ echo "#endif /* __SVGS_H_ */" >> $@ .for SVG in $(SVGS) $(SVG:C/\.svg/.o/): $(SVG:C/.svg/.c/) $(CC) $(CFLAGS) -c -o $@ $(.ALLSRC) $(SVG:C/\.svg/.mb/): $(SVG) $(SVG2CODE) $(SVG) $@ $(SVG:C/\.svg/.h/): $(SVG:C/\.svg/.mb/) $(M4) $(M4FLAGS) $(MB_C_HEADER) $(.ALLSRC) > $@ $(SVG:C/\.svg/.c/): $(SVG:C/\.svg/.mb/) $(M4) $(M4FLAGS) $(MB_C_SOURCE) $(.ALLSRC) > $@ .endfor clean: @for f in svgs.h $(SVGHS) $(SVGCS) $(SVGOS) $(MBS) \ *~ *.core tank tank_main.o; do \ if [ -e $$f ]; then \ echo "delete $$f"; rm -f $$f; \ fi; \ done