-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
60 lines (46 loc) · 1.39 KB
/
Makefile
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
VERSION:=$(shell cat VERSION)
override CFLAGS+=-D_RH_VERSION=\"$(VERSION)\"
ifneq (,$(DEBUG))
override CFLAGS+=-Wall -O0 -g
else
override CFLAGS+=-O2
endif
ifneq (,$(STATIC))
override LDFLAGS+=-static
endif
ifneq (,$(STRIP))
override LDFLAGS+=-s
endif
ifneq (,$(MAGIC))
override CFLAGS+=-DWITH_LIBMAGIC
override LDFLAGS+=-lmagic
endif
ifneq (,$(PIE))
# Linux and other systems with gcc and binutils
override CFLAGS+=-fPIE
override LDFLAGS+=-pie -Wl,-z,relro
endif
ifneq (,$(CHROOTEXEC))
# Most modern POSIX platforms, omit on very old systems before POSIX.1-2008
override CFLAGS+=-DWITH_FEXECVE
endif
default: ryshttpd
all: ryshttpd htupload htcrypt
RYSHTTPD_SRCS = $(filter-out htupload.c htcrypt.c tfdec.c tfxtsdec.c, $(wildcard *.c))
HTUPLOAD_SRCS = htupload.c conf.c say.c error.c memory.c io.c strxstr.c regexmatch.c xmalloc.c xstrlcpy.c xmemmem.c
HTCRYPT_SRCS = htcrypt.c tfenc.c tfdec.c tfxtsenc.c tfxtsdec.c tfctrapi.c skein.c getpasswd.c getpass.c
HDRS = $(wildcard *.h)
RYSHTTPD_OBJS = $(RYSHTTPD_SRCS:.c=.o)
HTUPLOAD_OBJS = $(HTUPLOAD_SRCS:.c=.o)
HTCRYPT_OBJS = $(HTCRYPT_SRCS:.c=.o)
%.o: %.c VERSION $(HDRS)
$(CC) $(CFLAGS) -c -o $@ $<
ryshttpd: $(RYSHTTPD_OBJS)
$(CC) $(RYSHTTPD_OBJS) -o $@ $(LDFLAGS)
htupload: $(HTUPLOAD_OBJS)
$(CC) $(HTUPLOAD_OBJS) -o $@ $(LDFLAGS)
htcrypt: $(HTCRYPT_OBJS)
$(CC) $(HTCRYPT_OBJS) -o $@ $(LDFLAGS)
distclean: clean
clean:
rm -f *.o ryshttpd htupload htcrypt