Annotation of embedaddon/miniupnpd/Makefile, revision 1.1

1.1     ! misho       1: # $Id: Makefile,v 1.53 2010/01/08 16:23:16 nanard Exp $
        !             2: # MiniUPnP project
        !             3: # http://miniupnp.free.fr/
        !             4: # Author: Thomas Bernard
        !             5: # This Makefile should work for *BSD and SunOS/Solaris
        !             6: # Linux users, please use Makefile.linux
        !             7: CFLAGS ?= -Wall -Os
        !             8: #CFLAGS = -Wall -O -g -DDEBUG
        !             9: CC ?= gcc
        !            10: RM = rm -f
        !            11: MV = mv
        !            12: INSTALL = install
        !            13: STRIP = strip
        !            14: 
        !            15: # OSNAME and FWNAME are used for building OS or FW dependent code.
        !            16: OSNAME != uname -s
        !            17: ARCH != uname -m
        !            18: .ifndef FWNAME
        !            19: .if exists(/usr/include/net/pfvar.h)
        !            20: FWNAME = pf
        !            21: .else
        !            22: FWNAME = ipf
        !            23: .endif
        !            24: .endif
        !            25: 
        !            26: # better way to find if we are using ipf or pf
        !            27: .if $(OSNAME) == "FreeBSD"
        !            28: FWNAME != . /etc/rc.subr; . /etc/rc.conf; \
        !            29:           if checkyesno ipfilter_enable; then \
        !            30:           echo "ipf"; else echo "pf"; fi
        !            31: .endif
        !            32: 
        !            33: .if $(OSNAME) == "NetBSD"
        !            34: FWNAME != . /etc/rc.subr; . /etc/rc.conf; \
        !            35:           if checkyesno ipfilter; then \
        !            36:           echo "ipf"; else echo "pf"; fi
        !            37: .endif
        !            38: 
        !            39: .if $(OSNAME) == "DragonFly"
        !            40: FWNAME != . /etc/rc.subr; . /etc/rc.conf; \
        !            41:           if chechyesno ipfilter; then \
        !            42:           echo "ipf"; else echo "pf"; fi
        !            43: .endif
        !            44: 
        !            45: # Solaris specific CFLAGS
        !            46: .if $(OSNAME) == "SunOS"
        !            47: CFLAGS += -DSOLARIS2=`uname -r | cut -d. -f2`
        !            48: .if $(ARCH) == "amd64"
        !            49: CFLAGS += -m64 -mcmodel=kernel -mno-red-zone -ffreestanding
        !            50: .elif $(ARCH) == "sparc64"
        !            51: CFLAGS += -m64 -mcmodel=medlow
        !            52: .endif
        !            53: .endif
        !            54: 
        !            55: STDOBJS = miniupnpd.o upnphttp.o upnpdescgen.o upnpsoap.o \
        !            56:           upnpredirect.o getifaddr.o daemonize.o upnpglobalvars.o \
        !            57:           options.o upnppermissions.o minissdp.o natpmp.o \
        !            58:           upnpevents.o
        !            59: BSDOBJS = bsd/getifstats.o
        !            60: SUNOSOBJS = solaris/getifstats.o
        !            61: PFOBJS = pf/obsdrdr.o
        !            62: IPFOBJS = ipf/ipfrdr.o
        !            63: MISCOBJS = upnpreplyparse.o minixml.o
        !            64: 
        !            65: ALLOBJS = $(STDOBJS) $(MISCOBJS)
        !            66: .if $(OSNAME) == "SunOS"
        !            67: ALLOBJS += $(SUNOSOBJS)
        !            68: .else
        !            69: ALLOBJS += $(BSDOBJS)
        !            70: .endif
        !            71: 
        !            72: .if $(FWNAME) == "pf"
        !            73: ALLOBJS += $(PFOBJS)
        !            74: .else
        !            75: ALLOBJS += $(IPFOBJS)
        !            76: .endif
        !            77: 
        !            78: TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o
        !            79: .if $(OSNAME) == "SunOS"
        !            80: TESTGETIFSTATSOBJS = testgetifstats.o solaris/getifstats.o
        !            81: .else
        !            82: TESTGETIFSTATSOBJS = testgetifstats.o bsd/getifstats.o
        !            83: .endif
        !            84: TESTUPNPPERMISSIONSOBJS = testupnppermissions.o upnppermissions.o
        !            85: TESTGETIFADDROBJS = testgetifaddr.o getifaddr.o
        !            86: MINIUPNPDCTLOBJS = miniupnpdctl.o
        !            87: 
        !            88: EXECUTABLES = miniupnpd testupnpdescgen testgetifstats \
        !            89:               testupnppermissions miniupnpdctl \
        !            90:               testgetifaddr
        !            91: 
        !            92: LIBS = -lkvm
        !            93: .if $(OSNAME) == "SunOS"
        !            94: LIBS += -lsocket -lnsl -lkstat -lresolv
        !            95: .endif
        !            96: 
        !            97: # set PREFIX variable to install in the wanted place
        !            98: 
        !            99: INSTALLBINDIR = $(PREFIX)/sbin
        !           100: INSTALLETCDIR = $(PREFIX)/etc
        !           101: # INSTALLMANDIR = $(PREFIX)/man
        !           102: INSTALLMANDIR = /usr/share/man
        !           103: 
        !           104: all:   $(EXECUTABLES)
        !           105: 
        !           106: clean:
        !           107:        $(RM) $(STDOBJS) $(BSDOBJS) $(SUNOSOBJS) $(EXECUTABLES) \
        !           108:        testupnpdescgen.o \
        !           109:        $(MISCOBJS) config.h testgetifstats.o testupnppermissions.o \
        !           110:        miniupnpdctl.o testgetifaddr.o \
        !           111:        $(PFOBJS) $(IPFOBJS)
        !           112: 
        !           113: install:       miniupnpd genuuid
        !           114:        $(STRIP) miniupnpd
        !           115:        $(INSTALL) -d $(DESTDIR)$(INSTALLBINDIR)
        !           116:        $(INSTALL) -m 555 miniupnpd $(DESTDIR)$(INSTALLBINDIR)
        !           117:        $(INSTALL) -d $(DESTDIR)$(INSTALLETCDIR)
        !           118:        $(INSTALL) -b miniupnpd.conf $(DESTDIR)$(INSTALLETCDIR)
        !           119:        # TODO : install man page correctly
        !           120: #      $(INSTALL) -d $(INSTALLMANDIR)
        !           121: #      $(INSTALL) miniupnpd.1 $(INSTALLMANDIR)/cat1/miniupnpd.0
        !           122: 
        !           123: # genuuid is using the uuid cli tool available under OpenBSD 4.0 in
        !           124: # the uuid-1.5.0 package
        !           125: # any other cli tool returning a uuid on stdout should work.
        !           126: UUID != if which uuidgen 2>&1 > /dev/null; then \
        !           127:         echo `uuidgen` ; \
        !           128:         elif which uuid 2>&1 > /dev/null; then \
        !           129:         echo `uuid` ; \
        !           130:         else echo "00000000-0000-0000-0000-000000000000"; \
        !           131:         fi
        !           132: 
        !           133: genuuid:
        !           134:        $(MV) miniupnpd.conf miniupnpd.conf.before
        !           135:        sed -e "s/^uuid=[-0-9a-f]*/uuid=$(UUID)/" miniupnpd.conf.before > miniupnpd.conf
        !           136:        $(RM) miniupnpd.conf.before
        !           137: 
        !           138: depend:        config.h
        !           139:        mkdep $(ALLOBJS:.o=.c) testupnpdescgen.c testgetifstats.c \
        !           140:     testupnppermissions.c miniupnpdctl.c testgetifaddr.c
        !           141: 
        !           142: miniupnpd: config.h $(ALLOBJS)
        !           143:        $(CC) $(CFLAGS) -o $@ $(ALLOBJS) $(LIBS)
        !           144: 
        !           145: # BSDmake :
        !           146: #      $(CC) $(CFLAGS) -o $@ $> $(LIBS)
        !           147: 
        !           148: miniupnpdctl:  config.h $(MINIUPNPDCTLOBJS)
        !           149:        $(CC) $(CFLAGS) -o $@ $(MINIUPNPDCTLOBJS)
        !           150: 
        !           151: testupnpdescgen:       config.h $(TESTUPNPDESCGENOBJS)
        !           152:        $(CC) $(CFLAGS) -o $@ $(TESTUPNPDESCGENOBJS)
        !           153: 
        !           154: testgetifstats:        config.h $(TESTGETIFSTATSOBJS)
        !           155:        $(CC) $(CFLAGS) -o $@ $(TESTGETIFSTATSOBJS) $(LIBS)
        !           156: 
        !           157: testgetifaddr: config.h $(TESTGETIFADDROBJS)
        !           158:        $(CC) $(CFLAGS) -o $@ $(TESTGETIFADDROBJS)
        !           159: 
        !           160: testupnppermissions:   config.h $(TESTUPNPPERMISSIONSOBJS)
        !           161:        $(CC) $(CFLAGS) -o $@ $(TESTUPNPPERMISSIONSOBJS)
        !           162: 
        !           163: # gmake :
        !           164: #      $(CC) $(CFLAGS) -o $@ $^
        !           165: # BSDmake :
        !           166: #      $(CC) $(CFLAGS) -o $@ $>
        !           167: 
        !           168: config.h:      genconfig.sh
        !           169:        ./genconfig.sh
        !           170: 
        !           171: .SUFFIXES:     .o .c
        !           172: .c.o:
        !           173:        $(CC) $(CFLAGS) -c -o $@ $<
        !           174: 
        !           175: #      $(CC) $(CFLAGS) -c -o $(.TARGET) $(.IMPSRC)
        !           176: 
        !           177:        

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>