1 # @(#) generic $(MAKE)file for udpxy project
3 # Copyright 2008 Pavel V. Cherenkov
5 # This file is part of udpxy.
7 # udpxy is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # udpxy is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with udpxy. If not, see <http://www.gnu.org/licenses/>.
23 CFLAGS
= -O2
-Wall
#-mips32
24 CFLAGS
+= -I
$(SRCBASE
)/include -I
$(TOP
)/shared
36 #CFLAGS += -W -Wall -Werror --pedantic
38 SYSTEM
=$(shell uname
2>/dev
/null
)
39 ifeq ($(SYSTEM
), FreeBSD
)
51 ifeq ($(CCKIND
), hp_ansicc64
)
53 CFLAGS
:= -Ae
+ESconstlit
+w1
-z
+DD64
-D_REENTRANT
58 ifeq ($(CCKIND
), hp_ansicc20
)
60 CFLAGS
:= -Ae
+ESconstlit
+w1
-z
+DA2.0
-D_REENTRANT
64 ifeq ($(CCKIND
), hp_ansicc11
)
66 CFLAGS
:= -Ae
+ESconstlit
+w1
-z
+DA1.1
-D_REENTRANT
72 CFLAGS
:= -w2
-wd1419
,177
75 ifeq ($(CCKIND
), suncc
)
81 ifeq ($(PROFTOOL
),gprof
)
87 BUILDNO
:= `cat $(BUILDFILE)`
90 BTYPE
:= `cat $(BTYPEFILE) | tr -d '"'`
93 VERSION
:= `cat $(VERSIONFILE) | tr -d '"'`
98 DOCFILES
:= doc
/udpxy-manual-RU.rtf
100 #INSTALLROOT := /usr/local
101 INSTALLROOT
:= $(INSTALLDIR
)
104 ARCFILE
:= $(ARCDIR
)/$(EXEC
).
$(VERSION
)-$(BTYPE
)$(BUILDNO
).tgz
107 ifneq (yes
,$(NO_UDPXREC
))
108 COMMON_OPT
:= $(COMMON_OPT
) -DUDPXREC_MOD
111 DEBUG_OPT
:= $(COMMON_OPT
) $(USER_OPT
) $(DEBUG_ON
) -DTRACE_MODULE
112 PROD_OPT
:= $(COMMON_OPT
) $(USER_OPT
) -DNDEBUG
-DTRACE_MODULE
113 LEAN_OPT
:= $(COMMON_OPT
) -DNDEBUG
$(USER_OPT
)
117 MKDEP_SRC
:= $(UTILDIR
)/mkdep.c
118 MKDEP_TOOL
:= $(UTILDIR
)/mkdep
120 SRC
:= udpxy.c rparse.c util.c prbuf.c ifaddr.c ctx.c mkpg.c \
121 rtp.c uopt.c dpkt.c netop.c extrn.c main.c
122 ifneq (yes
,$(NO_UDPXREC
))
123 SRC
:= $(SRC
) udpxrec.c
128 DEPFILE
:= $(EXEC
).dep
131 .PHONY
: clean all debug lean verify touch incbuild
tar wl-distro
134 $(CC
) $(CFLAGS
) $(CDEFS
) $(COPT
) -c
$< -o
$@
137 @echo
-e
"\nMaking a [release] version (use 'debug' target as an alternative)\n"
138 @
$(MAKE
) all "COPT=${PROD_OPT}"
141 @echo
-e
"\nMaking a [debug] version (use 'release' target as an alternative)\n"
142 @
$(MAKE
) all "COPT=${DEBUG_OPT}"
145 @echo
-e
"\nMaking a [lean] version (minimal size)\n"
146 @
$(MAKE
) all "COPT=${LEAN_OPT}"
149 @echo
-e
"\nVerifying all build targets\n"
159 mk_deps
:= $(CC
) $(CFLAGS
) $(MKDEPOPT
) $(SRC
)
161 mk_deps
:= HPATH
='.' $(MKDEP_TOOL
) -- $(SRC
)
164 all: $(DEPFILE
) $(EXEC
)
165 # include $(UPXC) (if needed) in all target to build
167 $(MKDEP_TOOL
): $(MKDEP_SRC
)
168 $(CC
) -o
$@
$(MKDEP_SRC
)
171 $(DEPFILE
): $(MKDEP_TOOL
) $(SRC
)
172 $(mk_deps
) > $(DEPFILE
)
174 $(EXEC
) : $(DEPFILE
) $(OBJ
)
176 $(CC
) $(CFLAGS
) $(COPT
) -o
$(EXEC
) $(OBJ
)
178 ifneq (yes
, $(NO_UDPXREC
))
180 ln
-s
$(EXEC
) $(UDPXREC
)
184 rm -f
$(CORES
) $(DEPFILE
) $(OBJ
) $(EXEC
) $(UDPXREC
)
187 @expr
`cat $(BUILDFILE)` + 1 > $(BUILDFILE
)
188 @echo
"Set build number to: `cat $(BUILDFILE)`"
191 DISTRO_DIR
:= udpxy-
$(VERSION
)-$(BUILDNO
)
192 DISTRO_FILES
:= $(SRC
) *.h Makefile
*.txt
$(BUILDFILE
) $(BTYPEFILE
) \
193 $(VERSIONFILE
) $(CHANGEFILE
) $(READMEFILE
) $(DOCFILES
)
196 @
rm -fr
$(DISTRO_DIR
)
198 @mkdir
$(DISTRO_DIR
)/$(UTILDIR
)
200 cp
-R
$(DISTRO_FILES
) $(DISTRO_DIR
)
201 cp
-R
$(MKDEP_SRC
) $(DISTRO_DIR
)/$(MKDEP_SRC
)
202 tar -cvzf
$(ARCFILE
) $(DISTRO_DIR
)
204 @
rm -fr
$(DISTRO_DIR
)
207 @echo
" [udpxy] Installing..."
208 @
test -d
$(INSTALLROOT
)/usr
/sbin || mkdir
-p
-m
755 $(INSTALLROOT
)/usr
/sbin
209 @cp
$(EXEC
) $(INSTALLROOT
)/usr
/sbin
210 ifneq (yes
, $(NO_UDPXREC
))
211 @
rm -f
$(INSTALLROOT
)/usr
/sbin
/$(UDPXREC
)
212 ln
-s
$(EXEC
) $(INSTALLROOT
)/usr
/sbin
/$(UDPXREC
)
215 $(STRIP
) $(INSTALLROOT
)/usr
/sbin
/udpxy
216 @ls
-l
$(INSTALLROOT
)/usr
/sbin
/$(EXEC
) $(INSTALLROOT
)/usr
/sbin
/$(UDPXREC
)
217 @echo
"Installation of udpxy is complete"
220 @
rm -f
$(INSTALLROOT
)/bin
/$(EXEC
) $(INSTALLROOT
)/bin
/$(UDPXREC
)
221 @echo
"udpxy successfully uninstalled"
223 ifneq ($(MAKECMDGOALS
), clean)