File: Makefile

package info (click to toggle)
haproxy 3.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 24,584 kB
  • sloc: ansic: 275,085; sh: 3,607; xml: 1,756; python: 1,345; makefile: 1,162; perl: 168; cpp: 21
file content (31 lines) | stat: -rw-r--r-- 867 bytes parent folder | download | duplicates (2)
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
include ../../include/make/verbose.mk

CC       = cc
OPTIMIZE = -O2 -g
DEFINE   =
INCLUDE  =
OBJS     = ncpu.so ncpu
OBJDUMP  = objdump

all:	$(OBJS)

%.o: %.c
	$(cmd_CC) $(OPTIMIZE) $(DEFINE) $(INCLUDE) -shared -fPIC -c -o $@ $^

%.so: %.o
	$(cmd_CC) -pie -o $@ $^
	$(Q)rm -f $^

%: %.so
	$(call qinfo, PATCHING)set -- $$($(OBJDUMP) -j .dynamic -h $^ | fgrep .dynamic); \
	  ofs=$$6; size=$$3; \
	  dd status=none bs=1 count=$$((0x$$ofs)) if=$^ of=$^-p1; \
	  dd status=none bs=1 skip=$$((0x$$ofs)) count=$$((0x$$size)) if=$^ of=$^-p2; \
	  dd status=none bs=1 skip=$$((0x$$ofs+0x$$size)) if=$^ of=$^-p3; \
	  sed -e 's,\xfb\xff\xff\x6f\x00\x00\x00\x00\x00\x00\x00\x08,\xfb\xff\xff\x6f\x00\x00\x00\x00\x00\x00\x00\x00,g' < $^-p2 > $^-p2-patched; \
	  cat $^-p1 $^-p2-patched $^-p3 > "$@"
	$(Q)rm -f $^-p*
	$(Q)chmod 755 "$@"

clean:
	rm -f $(OBJS) *.[oas] *.so-* *~