source: Main/trunk/Makefile@ 121

Last change on this file since 121 was 121, checked in by Nishi, on Sep 21, 2024 at 7:39:17 PM

add install target

  • Property svn:keywords set to Id
File size: 1.4 KB
RevLine 
[2]1# $Id: Makefile 121 2024-09-21 10:39:17Z nishi $
2
3PWD = `pwd`
4PLATFORM = generic
[4]5PREFIX = /usr/local
[2]6
[25]7include Platform/$(PLATFORM).mk
8
[2]9FLAGS = PWD=$(PWD) PLATFORM=$(PLATFORM) PREFIX=$(PREFIX)
10
[53]11.PHONY: all format clean ./Server ./Common ./Module ./Manpage get-version
[2]12
[37]13all: ./Server ./Module ./Manpage
[2]14
[43]15./Server/option: ./Server/option.c
16 cc -o $@ ./Server/option.c
[2]17
[43]18./Server:: ./Common ./Server/option
[44]19 $(MAKE) -C $@ $(FLAGS) EXTOBJS="`./Server/option objs ../`" EXTLIBS="`./Server/option libs ../`" EXTCFLAGS="`./Server/option cflags ../`" EXTLDFLAGS="`./Server/option ldflags ../`"
[43]20
[17]21./Module:: ./Common
22 $(MAKE) -C $@ $(FLAGS)
23
[2]24./Common::
25 $(MAKE) -C $@ $(FLAGS)
26
[37]27./Manpage::
28 $(MAKE) -C $@ $(FLAGS)
29
[121]30install: all
31 mkdir -p $(PREFIX)/bin $(PREFIX)/lib/tewi $(PREFIX)/share/man/man5 $(PREFIX)/etc
32 if [ ! -e $(PREFIX)/etc/tewi.conf ]; then cp example.conf $(PREFIX)/etc/tewi.conf ; fi
33 cp ./Server/tewi $(PREFIX)/bin/
34 cp ./Module/*.so $(PREFIX)/lib/tewi/
35 cp ./Manpage/tewi.conf.5 $(PREFIX)/share/man/man5/
36
[2]37format:
[43]38 clang-format --verbose -i `find ./Server ./Common ./Module "(" -name "*.c" -or -name "*.h" ")" -and -not -name "strptime.*"` config.h
[2]39
[53]40get-version:
41 @grep "define TW_VERSION" Server/tw_version.h | grep -Eo '"[^\]+' | sed -E 's/^"//g'
42
[2]43clean:
44 $(MAKE) -C ./Server $(FLAGS) clean
[17]45 $(MAKE) -C ./Module $(FLAGS) clean
[2]46 $(MAKE) -C ./Common $(FLAGS) clean
[37]47 $(MAKE) -C ./Manpage $(FLAGS) clean
[80]48 rm -f ./Server/option
Note: See TracBrowser for help on using the repository browser.