Subversion Repositories Tewi

Rev

Rev 396 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 nishi 1
# $Id: Makefile 397 2024-10-28 00:02:35Z nishi $
2
 
3
PWD = `pwd`
4
PLATFORM = generic
240 nishi 5
PLATFORM_IDENT = NOT_WINDOWS
4 nishi 6
PREFIX = /usr/local
182 nishi 7
MODULE = ./Module
244 nishi 8
OBJ = o
2 nishi 9
 
25 nishi 10
include Platform/$(PLATFORM).mk
11
 
2 nishi 12
FLAGS = PWD=$(PWD) PLATFORM=$(PLATFORM) PREFIX=$(PREFIX)
13
 
386 nishi 14
.PHONY: all prepare-config format clean ./Server ./Common ./Module get-version src-archive
2 nishi 15
 
197 nishi 16
all: ./Server $(MODULE)
2 nishi 17
 
386 nishi 18
prepare-config:
19
	if [ '!' -e config.h ]; then cp config.h.tmpl config.h ; fi
20
 
358 nishi 21
src-archive: clean
22
	@svn cleanup --remove-unversioned
23
	cp -rf . /tmp/tewi-`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`
24
	cd /tmp && tar --exclude .github -czvf tewi-`grep "define TW_VERSION" tewi-*/Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`.tar.gz tewi-`grep "define TW_VERSION" tewi-*/Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`
397 nishi 25
	mv /tmp/tewi-`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`.tar.gz ./
396 nishi 26
	rm -rf /tmp/tewi-*
358 nishi 27
 
386 nishi 28
./Tool/option: ./Tool/option.c config.h prepare-config
128 nishi 29
	cc -o $@ ./Tool/option.c
2 nishi 30
 
386 nishi 31
./Tool/genconf: ./Tool/genconf.c config.h prepare-config
128 nishi 32
	cc -o $@ ./Tool/genconf.c
43 nishi 33
 
386 nishi 34
./Tool/itworks: ./Tool/itworks.c config.h prepare-config
130 nishi 35
	cc -o $@ ./Tool/itworks.c
36
 
386 nishi 37
./Server:: ./Common ./Tool/option ./Tool/genconf ./Tool/itworks prepare-config
244 nishi 38
	$(MAKE) -C $@ $(FLAGS) EXTOBJS="`./Tool/option objs ../ $(PLATFORM_IDENT) $(OBJ)`" EXTLIBS="`./Tool/option libs ../ $(PLATFORM_IDENT) $(OBJ)`" EXTCFLAGS="`./Tool/option cflags ../ $(PLATFORM_IDENT) $(OBJ)`" EXTLDFLAGS="`./Tool/option ldflags ../ $(PLATFORM_IDENT) $(OBJ)`"
128 nishi 39
 
386 nishi 40
./Module:: ./Common prepare-config
17 nishi 41
	$(MAKE) -C $@ $(FLAGS)
42
 
386 nishi 43
./Common:: prepare-config
2 nishi 44
	$(MAKE) -C $@ $(FLAGS)
45
 
156 nishi 46
./README: ./README.tmpl ./Server/tw_version.h
387 nishi 47
	sed "s/@VERSION@/`grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'`/g" ./README.tmpl > $@
152 nishi 48
 
128 nishi 49
install: all ./Tool/genconf ./Tool/itworks
387 nishi 50
	-mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/lib/tewi $(DESTDIR)$(PREFIX)/etc $(DESTDIR)$(PREFIX)/www
386 nishi 51
	if [ '!' -e $(DESTDIR)$(PREFIX)/etc/tewi.conf ]; then ( ./Tool/genconf $(PREFIX) lib/tewi `echo $(LIBSUF) | sed 's/\.//g'` > $(DESTDIR)$(PREFIX)/etc/tewi.conf || ( rm $(DESTDIR)$(PREFIX)/etc/tewi.conf ; exit 1 ) ) ; fi
271 nishi 52
	cp mime.types $(DESTDIR)$(PREFIX)/
386 nishi 53
	if [ '!' -e $(DESTDIR)$(PREFIX)/www/index.html ]; then ( ./Tool/itworks > $(DESTDIR)$(PREFIX)/www/index.html || ( rm $(DESTDIR)$(PREFIX)/www/index.html ; exit 1 ) ) ; fi
54
	if [ '!' -e $(DESTDIR)$(PREFIX)/www/pbtewi.gif ]; then ( cp Binary/pbtewi.gif $(DESTDIR)$(PREFIX)/www/ || ( rm $(DESTDIR)$(PREFIX)/www/pbtewi.gif ; exit 1 ) ) ; fi
184 nishi 55
	-cp ./Server/tewi $(DESTDIR)$(PREFIX)/bin/
312 nishi 56
	-cp ./Server/tewi.exe $(DESTDIR)$(PREFIX)/bin/
315 nishi 57
	-cp ./Server/tewi.nlm $(DESTDIR)$(PREFIX)/bin/
184 nishi 58
	-cp ./Module/*.so $(DESTDIR)$(PREFIX)/lib/tewi/
312 nishi 59
	-cp ./Module/*.dll $(DESTDIR)$(PREFIX)/lib/tewi/
315 nishi 60
	-cp ./Module/*.nlm $(DESTDIR)$(PREFIX)/lib/tewi/
121 nishi 61
 
2 nishi 62
format:
129 nishi 63
	clang-format --verbose -i `find ./Server ./Common ./Module ./Tool "(" -name "*.c" -or -name "*.h" ")" -and -not -name "strptime.*"` config.h
2 nishi 64
 
53 nishi 65
get-version:
251 nishi 66
	@grep "define TW_VERSION" Server/tw_version.h | grep -Eom 1 '"[^\]+' | sed 's/^"//g'
53 nishi 67
 
2 nishi 68
clean:
69
	$(MAKE) -C ./Server $(FLAGS) clean
17 nishi 70
	$(MAKE) -C ./Module $(FLAGS) clean
2 nishi 71
	$(MAKE) -C ./Common $(FLAGS) clean
181 nishi 72
	rm -f ./Tool/option ./Tool/genconf ./Tool/itworks