# $Id$ PREFIX := /usr/local SYSCONFDIR := $(PREFIX)/etc NEWSDIR := $(PREFIX)/news CC := cc CFLAGS := -g -std=c99 -IDaemon -D_DEFAULT_SOURCE LDFLAGS := LIBS := ifeq ($(shell uname -s),SunOS) LIBS += -lsocket endif .PHONY: all clean format install all: ./Daemon/config.h ./Daemon/trilobite format: clang-format -i `find . -name "*.c" -or -name "*.h"` ./Daemon/trilobite: ./Daemon/main.o \ ./Daemon/server.o \ ./Daemon/s_config.o \ ./Daemon/nntp.o \ ./Daemon/accessconfig.o \ ./Daemon/channelconfig.o \ ./Daemon/permission.o \ ./Daemon/wildcard.o \ ./Daemon/db.o \ ./Daemon/util.o \ ./Daemon/xgtitle.o \ ./Daemon/group.o \ ./Daemon/head.o \ ./Daemon/list.o $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) @echo @echo "*****************************************************" @echo Build successful. @echo Install Trilobite using: $(MAKE) install @echo and run: $(PREFIX)/sbin/trilobite -i @echo to initialize the database. @echo "*****************************************************" @echo ./Daemon/main.o: ./Daemon/main.c ./Daemon/trilobite.h ./Daemon/config.h $(CC) $(CFLAGS) -c -o $@ $< ./Daemon/%.o: ./Daemon/%.c ./Daemon/%.h ./Daemon/trilobite.h ./Daemon/config.h $(CC) $(CFLAGS) -c -o $@ $< ./Daemon/config.h: @echo "#ifndef __TRILOBITE_CONFIG_H__" > $@ @echo "" >> $@ @echo "/* Change this to change the prefix. */" >> $@ @echo "#define PREFIX \"$(PREFIX)\"" >> $@ @echo "" >> $@ @echo "/* Change this to change the prefix of the configs. */" >> $@ @echo "#define SYSCONFDIR \"$(SYSCONFDIR)\"" >> $@ @echo "" >> $@ @echo "/* Change this to change the prefix of the news databases. */" >> $@ @echo "#define NEWSDIR \"$(NEWSDIR)\"" >> $@ @echo "" >> $@ @echo "#define __TRILOBITE_CONFIG_H__" >> $@ @echo "#endif" >> $@ $(info Created $@) $(info Review it and run $(MAKE) again) @exit 1 install: all mkdir -p $(PREFIX)/sbin/ cp -rf ./Daemon/trilobite $(PREFIX)/sbin/ mkdir -p $(SYSCONFDIR)/trilobite cp -rf ./Config/*.conf $(SYSCONFDIR)/trilobite/ cp -rf ./Config/motd $(SYSCONFDIR)/trilobite/ clean: rm -f ./Daemon/config.h ./Daemon/*.o ./Daemon/trilobite