X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=Makefile;h=79e8edf99fa47d5f9313821e85644a976d32b6b3;hb=f5c44e57feae26a81c416d9d7cc69f0accbac8b6;hp=e1a54dd723204884cda7c5f36ae03ac2d2747156;hpb=2377b968f55ddd5d6a8ff79ee9150316a218afc8;p=moebius2.git diff --git a/Makefile b/Makefile index e1a54dd..79e8edf 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,16 @@ -TARGETS= minimise primer view lumpy.cfm sgtatham.cfm ring.cfm + +VIEWDIMS=33 64 125 +TARGETS= minimise primer lumpy.cfm sgtatham.cfm ring.cfm \ + interpolate-64 \ + $(addprefix view-, $(VIEWDIMS)) +SGTATHAM=sgtatham CWARNS= -Wall -Wwrite-strings -Wpointer-arith -Werror -Wshadow CXXWARNS= $(CWARNS) -Wno-shadow -Wno-error OPTIMISE= -O2 -CFLAGS= -MMD $(OPTIMISE) -g $(CWARNS) +CFLAGS= -MMD $(OPTIMISE) -g $(CWARNS) $(DIMCFLAGS) CXXFLAGS= -MMD $(OPTIMISE) -g $(CXXWARNS) LIBGSL= -lgsl -lgslcblas @@ -14,7 +19,9 @@ o= >$@.new && mv -f $@.new $@ all: $(TARGETS) -minimise: energy.o graph.o common.o mgraph.o +compute: best.CFM + +minimise: energy.o graph.o common.o mgraph.o minimise.o half.o $(CXX) $(CXXFLAGS) -o $@ $^ $(LIBGSL) primer: primer.o common.o @@ -23,10 +30,8 @@ primer: primer.o common.o prime.data: primer ./$^ $o -view: view.o common.o mgraph.o - $(CC) $(CFLAGS) -o $@ $^ $(LIBGSL) -L/usr/X11R6/lib -lX11 -sgtatham.cfm: sgtatham-regenerator prime.data sgtatham/z.typescript +sgtatham.cfm: sgtatham-regenerator prime.data $(SGTATHAM)/z.typescript ./$^ -T -o$@ lumpy.cfm: oldmoebius-converter prime.data ../moebius/ins-new ../moebius/a.out @@ -35,12 +40,59 @@ lumpy.cfm: oldmoebius-converter prime.data ../moebius/ins-new ../moebius/a.out ring.cfm: oldmoebius-converter prime.data /dev/null ../moebius/a.out ./$^ -o$@ +best.CFM: + ./minimise sgtatham.cfm -iwip.cfm -o$@ + +view-%: view+%.o mgraph+%.o common.o + $(CC) $(CFLAGS) -o $@ $^ $(LIBGSL) -L/usr/X11R6/lib -lX11 + +interpolate-%: interpolate+%.o mgraph+%.o common.o + $(CC) $(CFLAGS) -o $@ $^ $(LIBGSL) + +minimise-%: energy+%.o graph+%.o mgraph+%.o minimise+%.o half+%.o common.o + $(CXX) $(CXXFLAGS) -o $@ $^ $(LIBGSL) + +define interpolate +dense-$1.cfm: interpolate-$1 $2 + ./$$< <$2 $$o +endef + +$(eval $(call interpolate,64, best.CFM)) +$(eval $(call interpolate,125, dense-64.cfm, dense-64.cfm)) + +# this ridiculous repetition is due to make being too lame + +view+%.o: view.c + $(CC) -c $(CPPFLAGS) $(CFLAGS) -DDEFSZ=$* $< -o $@ + +mgraph+%.o: mgraph.c + $(CC) -c $(CPPFLAGS) $(CFLAGS) -DDEFSZ=$* $< -o $@ + +minimise+%.o: minimise.c + $(CC) -c $(CPPFLAGS) $(CFLAGS) -DDEFSZ=$* $< -o $@ + +graph+%.o: graph.c + $(CC) -c $(CPPFLAGS) $(CFLAGS) -DDEFSZ=$* $< -o $@ + +energy+%.o: energy.c + $(CC) -c $(CPPFLAGS) $(CFLAGS) -DDEFSZ=$* $< -o $@ + +half+%.o: half.c + $(CC) -c $(CPPFLAGS) $(CFLAGS) -DDEFSZ=$* $< -o $@ + +interpolate+%.o: interpolate.c + $(CC) -c $(CPPFLAGS) $(CFLAGS) -DDEFSZ=$* $< -o $@ + +.PRECIOUS: view+%.o mgraph+%.o interpolate+%.o + clean: rm -f prime.data $(TARGETS) rm -f *.o *.new *.tmp *.rej *.orig core vgcore.* *~ - rm -f *.d + rm -f *.d *.cfm realclean: clean - rm -f best + rm -f *.CFM + +%.d: -include *.d