依存解決
make
make makes many problems
http://pc10.2ch.net/test/read.cgi/tech/1029599472/
最小の Makefile
なんと、Makefile が存在せず hoge.c があるとき
make hoge
と打つと
cc -O -pipe hoge.c -o hoge
を実行してくれる。(空の Makefile がある場合も同じ)
Vim の中からこれをやるには
:mak %<
とすればよい。
そして実行するには
:!%<
LDLIBS=-lm hoge: hoge.c
と書いておいて make と打つと
cc -lm hoge.c -o hoge
を実行してくれる。賢い。
#!/bin/sh SRCS=`echo *.c *.cpp| sed -e 's/\*\.cpp//; s/\*\.c//'` OBJS=`echo "$SRCS" | sed -e 's/\.c/.o/g; s/\.cpp/.o/g'` cat << "EOF" > Makefile TARGET = a.out CC = gcc CFLAGS = -g -DDEBUG=1 #CFLAGS = -O2 CFLAGS += -W -Wall -Wshadow -Wsign-compare -Wno-unused #LDFLAGS = -lglut -lGLU -lGL EOF cat << EOF >> Makefile SRCS = $SRCS OBJS = $OBJS EOF cat << "EOF" >> Makefile .c.o: $(CC) $(CFLAGS) -o $@ -c $< all: $(TARGET) a.out: $(OBJS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) depend: makedepend -- $(CFLAGS) -- $(SRCS) clean: rm -f $(OBJS) tags $(TARGET) tags: ctags -R . EOF make depend
dummy := $(shell echo some text 1>&2)
http://d.hatena.ne.jp/mzp/20070328/make
とすれば、Makefileでprintfデバッグができる。
autoconf/automake
25 From:デフォルトの名無しさん Date:02/08/19 19:48 Mail:sage
>>23
いや、それは Autoconf と突っ込んでみる。
Makefile より Makefile.am の方が簡単だと思うし、
自分のところで動けばいいなら autoscan した後、
$ mv configure.scan configure.ac
して、
- AC_CONFIG_HEADER([config.h])
+ AM_INIT_AUTOMAKE([foreign])
- AC_CONFIG_FILES([])
+ AC_CONFIG_FILES([Makefile])
するだけで結構うまくいったりするが、どうよ。
高度な事すると結構面倒だけどね。