-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile.mk
77 lines (58 loc) · 1.78 KB
/
makefile.mk
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
67
68
69
70
71
72
73
74
75
76
77
# Makefile for one-bin C programs.
.PHONY: all dbg clean install uninstall show_info \
show_options show_artifacts show_paths
include config.mk
include os.mk
include $(OS).mk
SHOW_INFO = show_options show_artifacts show_paths
CLEAN = clean_dist clean_artifacts
.SILENT: install uninstall clean $(CLEAN)
all : show_options strip
dbg : set_dbgflags show_info $(CLEAN) $(TGT)
$(LD) $(OUTFLAG) $(TGT) $(LDFLAGS) $(OBJ)
set_dbgflags :
$(eval CFLAGS = $(DBGFLAGS))
show_options :
@$(ECHO) "'$(TGT)' '$@':"
@$(ECHO) "OS = '$(OS)' ;"
@$(ECHO) "CFLAGS = '$(CFLAGS)' ;"
@$(ECHO) "LDFLAGS = '$(LDFLAGS)' ;"
@$(ECHO) "CC = '$(CC)' ;"
@$(ECHO) "LD = '$(LD)' ;"
show_artifacts :
@$(ECHO) "'$(TGT)' '$@' :"
@$(ECHO) "SRC = '$(SRC)' ;"
@$(ECHO) "HDR = '$(HDR)' ;"
@$(ECHO) "OBJ = '$(OBJ)' ;"
@$(ECHO) "TARDIR = '$(TARDIR);'"
@$(ECHO) "TARARC = '$(TARARC)'. "
show_paths :
@$(ECHO) "'$(TGT)' '$@' :"
@$(ECHO) "ROOTDIR = '$(ROOTDIR)' ;"
@$(ECHO) "DIRPREFIX= '$(DIRPREFIX)' ;"
@$(ECHO) "MANPREFIX= '$(MANPREFIX)' ;"
@$(ECHO) "DESTDIR = '$(DESTDIR)' ."
@$(ECHO) "MAKEFILE_LIST = '$(MAKEFILE_LIST)'"
show_info : $(SHOW_INFO)
$(TGT) : $(OBJ)
@$(ECHO) "[$@]"
$(LD) $(LDFLAGS) $(OUTFLAG) $@ $(OBJ)
$(MANUAL) :
strip : $(TGT)
$(STRIP) $<
%.$(OBJEXT) : %.$(CEXT)
@$(ECHO) "[$@]"
$(CC) $(OUTFLAG) $@ $(CFLAGS) $(OBJFLAG) $<
$(SRC) : $(HDR)
clean: $(CLEAN)
clean_dist :
$(RM) $(TARDIR) $(TARARC) $(TARGZARC)
clean_artifacts :
$(RM) $(OBJ) $(TGT)
install : $(TGT) $(MANUAL)
$(INSTALL) $(TGT) $(DESTDIR)/$(BINPREFIX)/
$(SED) "s/VERSION/$(VERSION)/g" <$(MANUAL) >$(DESTDIR)/$(MANPREFIX)/$(MANSECTPREFIX)/$(MANUAL)
uninstall :
$(RM) $(DESTDIR)/$(BINPREFIX)/$(TGT)
$(RM) $(DESTDIR)/$(MANPREFIX)/$(MANSECTPREFIX)/$(MANUAL)
include tarball.mk