www.usr.com/support/gpl/USR9107_release.1.4.tar.gz
[bcm963xx.git] / userapps / opensource / udhcp / Makefile
1 # udhcp makefile
2
3 #CROSS_COMPILE=mips-linux-
4 LDFLAGS = -Wl,--allow-shlib-undefined
5
6 prefix=/usr
7 SBINDIR=/sbin
8 USRSBINDIR=${prefix}/sbin
9 USRBINDIR=${prefix}/bin
10 USRSHAREDIR=${prefix}/share
11
12 # Uncomment this to get a shared binary. Call as udhcpd for the server,
13 # and udhcpc for the client
14 COMBINED_BINARY=1
15
16 # Uncomment this for extra output and to compile with debugging symbols
17 #DEBUG=1
18
19 # Uncomment this to output messages to syslog, otherwise, messages go to stdout
20 CFLAGS += -DSYSLOG
21
22 INSTALL = install
23
24 VER := 0.9.6
25
26
27 OBJS_SHARED = options.o socket.o packet.o pidfile.o
28 DHCPD_OBJS = dhcpd.o arpping.o files.o leases.o serverpacket.o
29 DHCPC_OBJS = dhcpc.o clientpacket.o script.o
30
31 ifdef COMBINED_BINARY
32 # BRCM begin
33 AR1 = udhcpd.a
34 # BRCM end
35 EXEC1 = udhcpd
36 OBJS1 = $(DHCPD_OBJS) $(DHCPC_OBJS) $(OBJS_SHARED) frontend.o
37 CFLAGS += -DCOMBINED_BINARY
38 else
39 EXEC1 = udhcpd
40 OBJS1 = $(DHCPD_OBJS) $(OBJS_SHARED)
41
42 EXEC2 = udhcpc
43 OBJS2 = $(DHCPC_OBJS) $(OBJS_SHARED)
44 endif
45
46 EXEC3 = dumpleases
47 OBJS3 = dumpleases.o
48
49 BOOT_PROGRAMS = udhcpc
50 DAEMONS = udhcpd
51 COMMANDS = dumpleases
52
53 ifdef SYSLOG
54 CFLAGS += -DSYSLOG
55 endif
56
57 CFLAGS += -s -W -Wall -Wstrict-prototypes -DVERSION='"$(VER)"' -I$(INC_BRCMCFM_PATH)
58
59 ifdef DEBUG
60 CFLAGS += -g -DDEBUG
61 else
62 CFLAGS += -Os -fomit-frame-pointer
63 #STRIP=-s
64 endif
65
66 ifeq ($(strip $(BUILD_UDHCP)), static)
67 CFLAGS += -DBUILD_STATIC
68 endif
69
70 # BRCM begin
71 #all: $(AR1)
72 all: $(EXEC1) $(EXEC2) $(EXEC3)
73 # BRCM end
74
75 $(OBJS1) $(OBJS2) $(OBJS3): *.h Makefile
76 $(EXEC1) $(EXEC2) $(EXEC3): Makefile
77
78 .c.o:
79         $(CC) -c $(CFLAGS) $<
80         
81 # BRCM begin
82 $(AR1): $(OBJS1)
83         $(AR) cvr $(AR1) $(OBJS1)
84 # BRCM end
85
86 $(EXEC1): $(OBJS1)
87         $(CC) $(LDFLAGS) $(OBJS1) -o $(EXEC1)
88
89 $(EXEC2): $(OBJS2)
90         $(CC) $(LDFLAGS) $(OBJS2) -o $(EXEC2)
91
92 $(EXEC3): $(OBJS3)
93         $(CC) $(LDFLAGS) $(OBJS3) -o $(EXEC3)
94
95
96 install: 
97         install -m 755 udhcpd $(INSTALL_DIR)/bin
98         $(STRIP) $(INSTALL_DIR)/bin/udhcpd
99         ln -sf udhcpd $(INSTALL_DIR)/bin/dhcpc
100         ln -sf udhcpd $(INSTALL_DIR)/bin/dhcpd
101
102 dynamic: all install
103
104 static: $(AR1)
105
106 #       $(INSTALL) $(STRIP) $(DAEMONS) $(USRSBINDIR)
107 #       $(INSTALL) $(STRIP) $(COMMANDS) $(USRBINDIR)
108 #ifdef COMBINED_BINARY
109 #       ln -sf $(USRSBINDIR)/$(DAEMONS) $(SBINDIR)/$(BOOT_PROGRAMS)
110 #else
111 #       $(INSTALL) $(STRIP) $(BOOT_PROGRAMS) $(SBINDIR)
112 #endif
113 #       mkdir -p $(USRSHAREDIR)/udhcpc
114 #       for name in bound deconfig renew script ; do \
115 #               $(INSTALL) samples/sample.$$name \
116 #                       $(USRSHAREDIR)/udhcpc/default.$$name ; \
117 #       done
118 #       mkdir -p $(USRSHAREDIR)/man/man1
119 #       $(INSTALL) dumpleases.1 $(USRSHAREDIR)/man/man1
120 #       mkdir -p $(USRSHAREDIR)/man/man5
121 #       $(INSTALL) udhcpd.conf.5 $(USRSHAREDIR)/man/man5
122 #       mkdir -p $(USRSHAREDIR)/man/man8
123 #       $(INSTALL) udhcpc.8 udhcpd.8 $(USRSHAREDIR)/man/man8
124
125 clean:
126         -rm -f udhcpd udhcpc dumpleases *.o core
127