编译脚本
项目使用 automake 来组织代码,我们关注一下几个文件:
- makedist.sh 调用 aclocal、autoconf
- configure.ac
- Makefile.am
SUBDIRS = . ythtlib libythtbbs src local_utl nju09 include
.PHONY: install-exec-local
install-exec-local:
./Installbbs.sh
update:
$(MAKE) -C src install
$(MAKE) -C local_utl install
$(MAKE) -C nju09 install
$(MAKE) -C smth_sshbbsd update
EXTRA_DIST = doc site bbshome
dist-hook:
for dirname in $(EXTRA_DIST); do \
rm -rf `find $(distdir)/$$dirname -name .svn`; \
done
Makerule.base
全局性的Makefile,下面的各级目录中 Makefile 会 include 这个文件。
在保留数据的情况下升级BBS
一般功能改变直接在相应目录 make && make installl就行了,别在总的目录make install,子目录如下:
- local_utl
make install - nju09
make isntall - src
make installbbs
或直接在 $BBSSRC 下面 make update,而不要 make install
如果移植BBS,保留数据就是把 0Announce/ wwwtmp/ boards/ vote/ home/ mail/ .PASSWDS和.BOARDS,.BOARDAUX 备份迁移。