-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmakefile
82 lines (70 loc) · 1.84 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#
# makefile - NT Virtual CP/M Machine.
#
# License CC0 1.0 Universal
#
# https://stackoverflow.com/questions/1079832/
#
# 08 Feb 25 0.1 - Initial version - MT
# - Added the ability to create debug code using target-
# specific variable values - MT
#
# Usage:
#
# make - Incremental make.
# make all
# make release - Rebuild application using release flags.
# make debug - Rebuild application using debug flags.
# make clean - Deletes object files
# make VERBOSE=1 - Verbose output
# make backup - Backup files
#
PROJECT = gcc-ntvcm
PROGRAM = ntvcm
SOURCES = ntvcm.cxx x80.cxx
FILES = *.cxx *.hxx LICENSE README.md makefile *.md .gitignore #.gitattributes
OBJECTS = $(SOURCES:.cxx=.o)
OUTPUT = $(PROGRAM).out
LANG = LANG_$(shell (echo $$LANG | cut -f 1 -d '_'))
COMMIT != git log -1 HEAD --format=%h 2> /dev/null
BUILD != printf "%04d" $(shell git rev-list --count HEAD 2> /dev/null)
UNAME != uname
CC = g++
LIBS =
LFLAGS = -static
CFLAGS = -ggdb -fno-builtin -I .
ifndef VERBOSE
VERBOSE = 0
endif
ifneq ($(COMMIT),)
CFLAGS += -DCOMMIT_ID='" [Commit Id: $(COMMIT)]"'
endif
ifneq ($(BUILD),)
CFLAGS += -DBUILD='".$(BUILD)"'
endif
all: CFLAGS += -flto -Ofast -D NDEBUG
all: $(PROGRAM) $(OBJECTS)
$(PROGRAM): $(OBJECTS)
ifneq ($(VERBOSE),0)
@echo
@echo $(CC) $(LFLAGS) $(OBJECTS) -o $@ $(LIBS)
@echo
endif
@$(CC) $(LFLAGS) $(OBJECTS) -o $@ $(LIBS)
@ls --color $@
$(OBJECTS) : $(SOURCES)
ifneq ($(VERBOSE),0)
@echo
@echo $(CC) $(CFLAGS) -c $(SOURCES)
endif
@$(CC) $(CFLAGS) -c $(SOURCES)
release: clean
release: all
debug: clean
debug: CFLAGS += -Og -D DEBUG
debug: $(PROGRAM)
clean:
# @rm -f $(PROGRAM) # -v
@rm -f $(OBJECTS) # -v
backup: clean
@echo "$(PROJECT)-`date +'%Y%m%d%H%M'`.tar.gz"; tar -czpf ..\/$(PROJECT)-`date +'%Y%m%d%H%M'`.tar.gz $(FILES)