229 lines
6.4 KiB
Makefile
229 lines
6.4 KiB
Makefile
# Makefile for Linux
|
|
|
|
# General
|
|
|
|
PLATFORMDEF = -DPLATFORM_LINUX
|
|
EXESUFFIX =
|
|
|
|
OS := $(shell uname -s)
|
|
|
|
BINDIR = ../bin
|
|
OBJDIR = obj
|
|
INCDIR = ./
|
|
|
|
OSLIB = oslib_linux/oslib.a
|
|
JAMLIB = ../../../deps/jamlib/jamlib.a
|
|
CMNLLIB = cmnllib/cmnllib.a
|
|
|
|
# Nodelists
|
|
|
|
NLDEFS = -DNODELIST_CMNL -DNODELIST_V7P
|
|
NLOBJS = obj/nl_v7p.o obj/nl_cmnl.o $(CMNLLIB)
|
|
|
|
# Messagebases
|
|
|
|
# *.msg
|
|
MBDEFS_MSG = -DMSGBASE_MSG
|
|
MBOBJS_MSG = obj/mb_msg.o
|
|
|
|
# JAM
|
|
MBDEFS_JAM = -DMSGBASE_JAM
|
|
MBOBJS_JAM = $(OBJDIR)/mb_jam.o $(JAMLIB)
|
|
|
|
MBDEFS_SQ3 = -DMSGBASE_SQ3
|
|
MBOBJS_SQ3 = $(OBJDIR)/mb_sq3.o
|
|
|
|
# Sum them up. Only include the messagebases you want to use
|
|
MBDEFS = $(MBDEFS_MSG) $(MBDEFS_JAM) $(MBDEFS_SQ3)
|
|
MBOBJS = $(MBOBJS_MSG) $(MBOBJS_JAM) $(MBOBJS_SQ3)
|
|
|
|
DEFS = $(PLATFORMDEF) $(MBDEFS) $(NLDEFS)
|
|
|
|
# Commands
|
|
ifeq ($(OS), FreeBSD)
|
|
CC = cc $(CPPFLAGS) $(CFLAGS) $(DEFS) $(LDFLAGS) -L/usr/local/lib -I $(INCDIR) -I ../../../deps/ -I/usr/local/include -Wall
|
|
else
|
|
CC = gcc $(CPPFLAGS) $(CFLAGS) $(DEFS) $(LDFLAGS) -I $(INCDIR) -I ../../../deps/ -Wall
|
|
endif
|
|
RM = rm -f
|
|
STRIP = strip
|
|
|
|
# Objects
|
|
|
|
SHOBJS = $(OBJDIR)/jblist.o \
|
|
$(OBJDIR)/jbstrcpy.o \
|
|
$(OBJDIR)/mystrncpy.o \
|
|
$(OBJDIR)/parseargs.o \
|
|
$(OBJDIR)/node4d.o \
|
|
$(OBJDIR)/expr.o \
|
|
$(OBJDIR)/path.o
|
|
|
|
CMOBJS = $(OBJDIR)/magimail.o \
|
|
$(OBJDIR)/logwrite.o \
|
|
$(OBJDIR)/dupe.o \
|
|
$(OBJDIR)/stats.o \
|
|
$(OBJDIR)/misc.o \
|
|
$(OBJDIR)/safedel.o \
|
|
$(OBJDIR)/toss.o \
|
|
$(OBJDIR)/pkt.o \
|
|
$(OBJDIR)/mb.o \
|
|
$(OBJDIR)/nl.o \
|
|
$(OBJDIR)/handle.o \
|
|
$(OBJDIR)/node4dpat.o \
|
|
$(OBJDIR)/config.o \
|
|
$(OBJDIR)/memmessage.o \
|
|
$(OBJDIR)/scan.o \
|
|
$(OBJDIR)/outbound.o \
|
|
$(OBJDIR)/filter.o \
|
|
$(OBJDIR)/areafix.o \
|
|
$(OBJDIR)/broadcast.o
|
|
|
|
files : $(BINDIR)/magimail$(EXESUFFIX) \
|
|
$(BINDIR)/magistats$(EXESUFFIX) \
|
|
$(BINDIR)/magilist$(EXESUFFIX) \
|
|
$(BINDIR)/magigetnode$(EXESUFFIX) \
|
|
$(BINDIR)/magimaint$(EXESUFFIX) \
|
|
$(BINDIR)/magiwrite$(EXESUFFIX) \
|
|
$(BINDIR)/magiexport$(EXESUFFIX) \
|
|
$(BINDIR)/magilistout$(EXESUFFIX)
|
|
|
|
$(BINDIR)/magimail$(EXESUFFIX) : $(CMOBJS) $(SHOBJS) $(NLOBJS) $(MBOBJS) $(OSLIB)
|
|
$(CC) -o $(BINDIR)/magimail$(EXESUFFIX) $(CMOBJS) $(SHOBJS) $(NLOBJS) $(MBOBJS) $(OSLIB) -lsqlite3
|
|
$(STRIP) $(BINDIR)/magimail$(EXESUFFIX)
|
|
|
|
$(BINDIR)/magistats$(EXESUFFIX) : tools/magistats.c $(SHOBJS) $(OSLIB)
|
|
$(CC) -o $(BINDIR)/magistats$(EXESUFFIX) tools/magistats.c $(SHOBJS) $(OSLIB)
|
|
$(STRIP) $(BINDIR)/magistats$(EXESUFFIX)
|
|
|
|
$(BINDIR)/magilist$(EXESUFFIX) : tools/magilist.c $(SHOBJS) $(OSLIB)
|
|
$(CC) -o $(BINDIR)/magilist$(EXESUFFIX) tools/magilist.c $(SHOBJS) $(OSLIB)
|
|
$(STRIP) $(BINDIR)/magilist$(EXESUFFIX)
|
|
|
|
$(BINDIR)/magigetnode$(EXESUFFIX) : tools/magigetnode.c $(SHOBJS) $(CMNLLIB) $(OSLIB)
|
|
$(CC) -o $(BINDIR)/magigetnode$(EXESUFFIX) tools/magigetnode.c $(SHOBJS) $(CMNLLIB) $(OSLIB)
|
|
$(STRIP) $(BINDIR)/magigetnode$(EXESUFFIX)
|
|
|
|
$(BINDIR)/magimaint$(EXESUFFIX) : tools/magimaint.c $(SHOBJS) $(OSLIB) $(JAMLIB)
|
|
$(CC) -o $(BINDIR)/magimaint$(EXESUFFIX) tools/magimaint.c $(SHOBJS) $(OSLIB) $(JAMLIB)
|
|
$(STRIP) $(BINDIR)/magimaint$(EXESUFFIX)
|
|
|
|
$(BINDIR)/magiwrite$(EXESUFFIX) : tools/magiwrite.c $(SHOBJS) $(OSLIB)
|
|
$(CC) -o $(BINDIR)/magiwrite$(EXESUFFIX) tools/magiwrite.c $(SHOBJS) $(OSLIB)
|
|
$(STRIP) $(BINDIR)/magiwrite$(EXESUFFIX)
|
|
|
|
$(BINDIR)/magiexport$(EXESUFFIX) : tools/magiexport.c $(SHOBJS) $(OSLIB)
|
|
$(CC) -o $(BINDIR)/magiexport$(EXESUFFIX) tools/magiexport.c $(SHOBJS) $(OSLIB)
|
|
$(STRIP) $(BINDIR)/magiexport$(EXESUFFIX)
|
|
|
|
$(BINDIR)/magilistout$(EXESUFFIX) : tools/magilistout.c $(SHOBJS) $(OSLIB)
|
|
$(CC) -o $(BINDIR)/magilistout$(EXESUFFIX) tools/magilistout.c $(SHOBJS) $(OSLIB)
|
|
$(STRIP) $(BINDIR)/magilistout$(EXESUFFIX)
|
|
|
|
# magimail
|
|
|
|
$(OBJDIR)/broadcast.o : magimail/broadcast.c
|
|
$(CC) -c magimail/broadcast.c -o $(OBJDIR)/broadcast.o
|
|
|
|
$(OBJDIR)/magimail.o : magimail/magimail.c
|
|
$(CC) -c magimail/magimail.c -o $(OBJDIR)/magimail.o
|
|
|
|
$(OBJDIR)/logwrite.o : magimail/logwrite.c
|
|
$(CC) -c magimail/logwrite.c -o $(OBJDIR)/logwrite.o
|
|
|
|
$(OBJDIR)/dupe.o : magimail/dupe.c
|
|
$(CC) -c magimail/dupe.c -o $(OBJDIR)/dupe.o
|
|
|
|
$(OBJDIR)/stats.o : magimail/stats.c
|
|
$(CC) -c magimail/stats.c -o $(OBJDIR)/stats.o
|
|
|
|
$(OBJDIR)/misc.o : magimail/misc.c
|
|
$(CC) -c magimail/misc.c -o $(OBJDIR)/misc.o
|
|
|
|
$(OBJDIR)/safedel.o : magimail/safedel.c
|
|
$(CC) -c magimail/safedel.c -o $(OBJDIR)/safedel.o
|
|
|
|
$(OBJDIR)/toss.o : magimail/toss.c
|
|
$(CC) -c magimail/toss.c -o $(OBJDIR)/toss.o
|
|
|
|
$(OBJDIR)/scan.o : magimail/scan.c
|
|
$(CC) -c magimail/scan.c -o $(OBJDIR)/scan.o
|
|
|
|
$(OBJDIR)/pkt.o : magimail/pkt.c
|
|
$(CC) -c magimail/pkt.c -o $(OBJDIR)/pkt.o
|
|
|
|
$(OBJDIR)/memmessage.o : magimail/memmessage.c
|
|
$(CC) -c magimail/memmessage.c -o $(OBJDIR)/memmessage.o
|
|
|
|
$(OBJDIR)/handle.o : magimail/handle.c
|
|
$(CC) -c magimail/handle.c -o $(OBJDIR)/handle.o
|
|
|
|
$(OBJDIR)/node4dpat.o : magimail/node4dpat.c
|
|
$(CC) -c magimail/node4dpat.c -o $(OBJDIR)/node4dpat.o
|
|
|
|
$(OBJDIR)/config.o : magimail/config.c
|
|
$(CC) -c magimail/config.c -o $(OBJDIR)/config.o
|
|
|
|
$(OBJDIR)/outbound.o : magimail/outbound.c
|
|
$(CC) -c magimail/outbound.c -o $(OBJDIR)/outbound.o
|
|
|
|
$(OBJDIR)/areafix.o : magimail/areafix.c
|
|
$(CC) -c magimail/areafix.c -o $(OBJDIR)/areafix.o
|
|
|
|
$(OBJDIR)/filter.o : magimail/filter.c
|
|
$(CC) -c magimail/filter.c -o $(OBJDIR)/filter.o
|
|
|
|
# shared
|
|
|
|
$(OBJDIR)/jblist.o : shared/jblist.c
|
|
$(CC) -c shared/jblist.c -o $(OBJDIR)/jblist.o
|
|
|
|
$(OBJDIR)/jbstrcpy.o : shared/jbstrcpy.c
|
|
$(CC) -c shared/jbstrcpy.c -o $(OBJDIR)/jbstrcpy.o
|
|
|
|
$(OBJDIR)/mystrncpy.o : shared/mystrncpy.c
|
|
$(CC) -c shared/mystrncpy.c -o $(OBJDIR)/mystrncpy.o
|
|
|
|
$(OBJDIR)/parseargs.o : shared/parseargs.c
|
|
$(CC) -c shared/parseargs.c -o $(OBJDIR)/parseargs.o
|
|
|
|
$(OBJDIR)/path.o : shared/path.c
|
|
$(CC) -c shared/path.c -o $(OBJDIR)/path.o
|
|
|
|
$(OBJDIR)/node4d.o : shared/node4d.c
|
|
$(CC) -c shared/node4d.c -o $(OBJDIR)/node4d.o
|
|
|
|
$(OBJDIR)/expr.o : shared/expr.c
|
|
$(CC) -c shared/expr.c -o $(OBJDIR)/expr.o
|
|
|
|
# mb
|
|
|
|
$(OBJDIR)/mb.o : magimail/mb.c
|
|
$(CC) -c magimail/mb.c -o $(OBJDIR)/mb.o
|
|
|
|
$(OBJDIR)/mb_msg.o : magimail/mb_msg.c
|
|
$(CC) -c magimail/mb_msg.c -o $(OBJDIR)/mb_msg.o
|
|
|
|
$(OBJDIR)/mb_jam.o : magimail/mb_jam.c
|
|
$(CC) -c magimail/mb_jam.c -o $(OBJDIR)/mb_jam.o
|
|
|
|
$(OBJDIR)/mb_sq3.o : magimail/mb_sq3.c
|
|
$(CC) -c magimail/mb_sq3.c -o $(OBJDIR)/mb_sq3.o
|
|
|
|
# nl
|
|
|
|
$(OBJDIR)/nl.o : magimail/nl.c
|
|
$(CC) -c magimail/nl.c -o $(OBJDIR)/nl.o
|
|
|
|
$(OBJDIR)/nl_cmnl.o : magimail/nl_cmnl.c
|
|
$(CC) -c magimail/nl_cmnl.c -o $(OBJDIR)/nl_cmnl.o
|
|
|
|
$(OBJDIR)/nl_v7p.o : magimail/nl_v7p.c
|
|
$(CC) -c magimail/nl_v7p.c -o $(OBJDIR)/nl_v7p.o
|
|
|
|
|
|
# Clean
|
|
|
|
clean :
|
|
$(RM) $(OBJDIR)/*.o
|
|
|