contrib: add a userspace port of the Broadcom NVRAM kernel api, allows NVRAM manipula...
[project/luci.git] / contrib / userspace-nvram / Makefile
1 CC      = gcc
2 LN      = ln
3 CFLAGS  = -Wall -g
4 LDFLAGS =
5
6 LIB_VERMAJOR = 0
7 LIB_VERMINOR = 1
8 LIB_FILENAME = libnvram.so
9
10 LIB_CFLAGS  = $(CFLAGS) -shared -fPIC
11 LIB_LDFLAGS = $(LDFLAGS) -Wl,-soname,$(LIB_FILENAME).$(LIB_VERMAJOR).$(LIB_VERMINOR)
12
13 CLI_CFLAGS  = $(CFLAGS)
14 CLI_LDFLAGS = $(LDFLAGS) -lc -L. -lnvram
15
16 CLI_OBJ = cli.o
17 LIB_OBJ = crc.o nvram.o
18
19 all: cli libnvram
20
21 cli: libnvram
22         $(CC) $(CLI_CFLAGS) -c -o cli.o cli.c
23         $(CC) -o nvram $(CLI_OBJ) $(CLI_LDFLAGS)
24
25 cli.o: cli.c
26         $(CC) $(CLI_CFLAGS) -c -o $@ $<
27
28 libnvram:
29         $(CC) $(LIB_CFLAGS) -c -o crc.o crc.c
30         $(CC) $(LIB_CFLAGS) -c -o nvram.o nvram.c
31         $(CC) $(LIB_CFLAGS) $(LIB_LDFLAGS) \
32                 -o $(LIB_FILENAME).$(LIB_VERMAJOR).$(LIB_VERMINOR) $(LIB_OBJ)
33         $(LN) -s $(LIB_FILENAME).$(LIB_VERMAJOR).$(LIB_VERMINOR) \
34                 $(LIB_FILENAME).$(LIB_VERMAJOR)
35         $(LN) -s $(LIB_FILENAME).$(LIB_VERMAJOR).$(LIB_VERMINOR) \
36                 $(LIB_FILENAME)
37
38 clean:
39         rm -f nvram $(LIB_FILENAME)* *.o