File: Makefile

package info (click to toggle)
netconsd 0.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 344 kB
  • sloc: ansic: 2,650; cpp: 111; python: 107; makefile: 98
file content (66 lines) | stat: -rw-r--r-- 1,479 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
CC ?= gcc

LIBS = -lpthread -lrt -ldl
CFLAGS ?= -O2 -fPIC
CFLAGS += -D_GNU_SOURCE -fno-strict-aliasing -Wall -Wextra \
          -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations \
          -Wdeclaration-after-statement -Wno-missing-field-initializers \
          -Wno-unused-parameter
CPPFLAGS ?=
INCLUDES = -Incrx

debug debug32: CFLAGS += -O0 -gdwarf-4 -fno-omit-frame-pointer \
	                 -fstack-protector-all -fsanitize=address \
                         -fsanitize=undefined
debug debug32: LDFLAGS ?= -lasan -lubsan

32bit: CFLAGS += -m32
32bit: LDFLAGS ?= -m32

disasm: CFLAGS += -fverbose-asm

binary = netconsd
lib = ncrx/libncrx.o
liball = libnetconsd.a
obj = threads.o listener.o worker.o output.o main.o
rlibobj = threads.o listener.o worker.o output.o
asm = $(obj:.o=.s)

all: $(binary) mods
rlib: $(liball)
32bit: $(binary) mods

debug: all
debug32: 32bit
disasm: $(asm)

-include $(obj:.o=.d)

$(binary): $(lib) $(obj)
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(lib) $(obj) $(LIBS) -o $@

$(liball): $(rlibobj) $(lib)
	ar rc $@ $(rlibobj) $(lib)

%.o: %.c
	$(CC) $< $(CPPFLAGS) $(CFLAGS) $(INCLUDES) -c -o $@
	$(CC) -MM $< $(INCLUDES) > $(@:.o=.d)

%.s: %.c
	$(CC) $< $(CPPFLAGS) $(CFLAGS) $(INCLUDES) -c -S -o $@

$(lib):
	$(MAKE) -e -C ncrx

mods:
	$(MAKE) -e -C modules

utils:
	$(MAKE) -e -C util

clean:
	rm -f netconsd *.o *.d *.s
	rm -f modules/*.o modules/*.so
	rm -f ncrx/*.o ncrx/*.d
	rm -f util/netconsblaster
	rm -f libnetconsd.a