annotate Makefile @ 241:d0e9dbe9afbe

Add new heuristic for resolving instruction sizes. Add new heuristic for resolving instruction sizes. This applies to the the decision between extended and base page addressing by calculating the range of possible addresses (if reasonably knowable) and deciding on whether to force extended addressing based on that. (If the whole range is outside the direct page, extended addressing is required.)
author William Astle <lost@l-w.ca>
date Sun, 23 Sep 2012 13:06:43 -0600
parents d4cf2e139e4a
children b97460509c3d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
1 # define anything system specific here
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
2 #
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
3 # set these variables if needed
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
4 # PROGSUFFIX: suffix added to binaries
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
5 # BUILDTPREFIX: prefix added to build utilities (cc, etc.) for xcompile
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
6 # can also set them when invoking "make"
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
7 #PROGSUFFIX := .exe
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
8 #BUILDTPREFIX=i586-mingw32msvc-
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
9
10
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
10 # C compiler
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
11 CC := $(BUILDTPREFIX)cc
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
12
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
13 # ar
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
14 AR := $(BUILDTPREFIX)ar
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
15
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
16 # ranlib
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
17 RANLIB := $(BUILDTPREFIX)ranlib
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
18
237
d4cf2e139e4a Bump version number in preparation for a release.
William Astle <lost@l-w.ca>
parents: 222
diff changeset
19 CPPFLAGS += -I lwlib -DPACKAGE_STRING='"lwtools 4.7"'
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
20 LDFLAGS += -L$(PWD)/lwlib -llw
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
21
25
87590f43e76d Started lwbasic parser; checkpoint
lost@l-w.ca
parents: 22
diff changeset
22 CFLAGS ?= -g -Wall
10
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
23
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
24 MAIN_TARGETS := lwasm/lwasm$(PROGSUFFIX) \
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
25 lwlink/lwlink$(PROGSUFFIX) \
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
26 lwar/lwar$(PROGSUFFIX) \
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
27 lwlink/lwobjdump$(PROGSUFFIX)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
28
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
29 .PHONY: all
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
30 all: $(MAIN_TARGETS)
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
31
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
32 lwar_srcs := add.c extract.c list.c lwar.c main.c remove.c replace.c
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
33 lwar_srcs := $(addprefix lwar/,$(lwar_srcs))
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
34
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
35 lwlib_srcs := lw_alloc.c lw_realloc.c lw_free.c lw_error.c lw_expr.c \
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
36 lw_stack.c lw_string.c lw_stringlist.c lw_cmdline.c
190
20ba68be2cd7 Fixed typos with conversion away from rules.make stuff
lost@l-w.ca
parents: 189
diff changeset
37 lwlib_srcs := $(addprefix lwlib/,$(lwlib_srcs))
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
38
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
39 lwlink_srcs := main.c lwlink.c readfiles.c expr.c script.c link.c output.c map.c
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
40 lwobjdump_srcs := objdump.c
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
41 lwlink_srcs := $(addprefix lwlink/,$(lwlink_srcs))
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
42 lwobjdump_srcs := $(addprefix lwlink/,$(lwobjdump_srcs))
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
43
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
44 lwcc_srcs := lwcc.c
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
45 lwcc_srcs := $(addprefix lwcc/,$(lwcc_srcs))
193
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
46 lwcpp_srcs := lwcpp.c
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
47 lwcpp_srcs := $(addprefix lwcc/cpp/,$(lwcpp_srcs))
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
48
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
49 lwasm_srcs := debug.c input.c insn_bitbit.c insn_gen.c insn_indexed.c \
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
50 insn_inh.c insn_logicmem.c insn_rel.c insn_rlist.c insn_rtor.c insn_tfm.c \
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
51 instab.c list.c lwasm.c macro.c main.c os9.c output.c pass1.c pass2.c \
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
52 pass3.c pass4.c pass5.c pass6.c pass7.c pragma.c pseudo.c section.c \
222
03f7192fcd20 Add --unicorns option for IDE integration
William Astle <lost@l-w.ca>
parents: 213
diff changeset
53 struct.c symbol.c unicorns.c
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
54 lwasm_srcs := $(addprefix lwasm/,$(lwasm_srcs))
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
55
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
56 lwasm_objs := $(lwasm_srcs:.c=.o)
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
57 lwlink_objs := $(lwlink_srcs:.c=.o)
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
58 lwar_objs := $(lwar_srcs:.c=.o)
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
59 lwlib_objs := $(lwlib_srcs:.c=.o)
2
7317fbe024af Clean up insane number of compiler warnings under -Wall
lost@l-w.ca
parents: 1
diff changeset
60 lwobjdump_objs := $(lwobjdump_srcs:.c=.o)
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
61 lwcc_objs := $(lwcc_srcs:.c=.o)
193
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
62 lwcpp_objs := $(lwcpp_srcs:.c=.o)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
63
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
64 lwasm_deps := $(lwasm_srcs:.c=.d)
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
65 lwlink_deps := $(lwlink_srcs:.c=.d)
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
66 lwar_deps := $(lwar_srcs:.c=.d)
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
67 lwlib_deps := $(lwlib_srcs:.c=.d)
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
68 lwobjdump_deps := $(lwobjdump_srcs:.c=.d)
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
69 lwcc_deps := $(lwcc_srcs:.c=.d)
193
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
70 lwcpp_deps := $(lwcpp_srcs:.c=.d)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
71
193
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
72 .PHONY: lwlink lwasm lwar lwobjdump lwcc lwcpp
10
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
73 lwlink: lwlink/lwlink$(PROGSUFFIX)
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
74 lwasm: lwasm/lwasm$(PROGSUFFIX)
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
75 lwar: lwar/lwar$(PROGSUFFIX)
127e5b1e01c0 Removed use of asprintf() and added Makefile options for cross compiling; also a bugfix with sizeof{} in lwasm
lost@l-w.ca
parents: 9
diff changeset
76 lwobjdump: lwlink/lwobjdump$(PROGSUFFIX)
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
77 lwcc: lwcc/lwcc$(PROGSUFFIX)
193
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
78 lwcpp: lwcc/lwcpp$(PROGSUFFIX)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
79
22
7c35fa8dbc91 Added initial framework for lwbasic
lost@l-w.ca
parents: 20
diff changeset
80 .PHONY: lwbasic
7c35fa8dbc91 Added initial framework for lwbasic
lost@l-w.ca
parents: 20
diff changeset
81 lwbasic: lwbasic/lwbasic$(PROGSUFFIX)
7c35fa8dbc91 Added initial framework for lwbasic
lost@l-w.ca
parents: 20
diff changeset
82
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
83 lwasm/lwasm$(PROGSUFFIX): $(lwasm_objs) lwlib
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
84 @echo Linking $@
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
85 @$(CC) -o $@ $(lwasm_objs) $(LDFLAGS)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
86
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
87 lwlink/lwlink$(PROGSUFFIX): $(lwlink_objs) lwlib
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
88 @echo Linking $@
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
89 @$(CC) -o $@ $(lwlink_objs) $(LDFLAGS)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
90
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
91 lwlink/lwobjdump$(PROGSUFFIX): $(lwobjdump_objs) lwlib
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
92 @echo Linking $@
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
93 @$(CC) -o $@ $(lwobjdump_objs) $(LDFLAGS)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
94
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
95 lwar/lwar$(PROGSUFFIX): $(lwar_objs) lwlib
17
4969bd6f3b7d Fixed up glitch with Makefile causing binaries to always be considered out of date
lost@l-w.ca
parents: 16
diff changeset
96 @echo Linking $@
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
97 @$(CC) -o $@ $(lwar_objs) $(LDFLAGS)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
98
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
99 lwcc/lwcc$(PROGSUFFIX): $(lwcc_objs) lwlib
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
100 @echo Linking $@
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
101 @$(CC) -o $@ $(lwcc_objs) $(LDFLAGS)
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
102
193
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
103 lwcc/lwcpp$(PROGSUFFIX): $(lwcpp_objs) lwlib
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
104 @echo Linking $@
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
105 @$(CC) -o $@ $(lwcpp_objs) $(LDFLAGS)
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
106
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
107
17
4969bd6f3b7d Fixed up glitch with Makefile causing binaries to always be considered out of date
lost@l-w.ca
parents: 16
diff changeset
108 #.PHONY: lwlib
4969bd6f3b7d Fixed up glitch with Makefile causing binaries to always be considered out of date
lost@l-w.ca
parents: 16
diff changeset
109 .INTERMEDIATE: lwlib
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
110 lwlib: lwlib/liblw.a
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
111
190
20ba68be2cd7 Fixed typos with conversion away from rules.make stuff
lost@l-w.ca
parents: 189
diff changeset
112 lwlib/liblw.a: $(lwlib_objs)
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
113 @echo Linking $@
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
114 @$(AR) rc $@ $(lwlib_objs)
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
115 @$(RANLIB) $@
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
116
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
117 alldeps := $(lwasm_deps) $(lwlink_deps) $(lwar_deps) $(lwlib_deps) ($lwobjdump_deps) $(lwcc_deps)
3
d4eb3c328a47 Typo fixes
lost@l-w.ca
parents: 2
diff changeset
118
d4eb3c328a47 Typo fixes
lost@l-w.ca
parents: 2
diff changeset
119 -include $(alldeps)
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
120
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
121 extra_clean := $(extra_clean) *~ */*~
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
122
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
123 %.o: %.c
181
5350ce9f446f Arranged for dependencies to be generated when building object files; no more extraneous dependency rebuilds
lost@l-w.ca
parents: 173
diff changeset
124 @echo "Building dependencies for $@"
5350ce9f446f Arranged for dependencies to be generated when building object files; no more extraneous dependency rebuilds
lost@l-w.ca
parents: 173
diff changeset
125 @$(CC) -MM $(CPPFLAGS) -o $*.d $<
5350ce9f446f Arranged for dependencies to be generated when building object files; no more extraneous dependency rebuilds
lost@l-w.ca
parents: 173
diff changeset
126 @mv -f $*.d $*.d.tmp
5350ce9f446f Arranged for dependencies to be generated when building object files; no more extraneous dependency rebuilds
lost@l-w.ca
parents: 173
diff changeset
127 @sed -e 's|.*:|$*.o $*.d:|' < $*.d.tmp > $*.d
5350ce9f446f Arranged for dependencies to be generated when building object files; no more extraneous dependency rebuilds
lost@l-w.ca
parents: 173
diff changeset
128 @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
5350ce9f446f Arranged for dependencies to be generated when building object files; no more extraneous dependency rebuilds
lost@l-w.ca
parents: 173
diff changeset
129 @rm -f $*.d.tmp
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
130 @echo Building $@
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
131 @$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
132
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
133
0
2c24602be78f Initial import from lwtools 3.0.1 version, with new hand built build system and file reorganization
lost@l-w.ca
parents:
diff changeset
134 .PHONY: clean
22
7c35fa8dbc91 Added initial framework for lwbasic
lost@l-w.ca
parents: 20
diff changeset
135 clean: $(cleantargs)
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
136 @echo "Cleaning up"
188
b6685a7ec2bd Add stub for lwcc
lost@l-w.ca
parents: 181
diff changeset
137 @rm -f lwlib/liblw.a lwasm/lwasm$(PROGSUFFIX) lwlink/lwlink$(PROGSUFFIX) lwlink/lwobjdump$(PROGSUFFIX) lwar/lwar$(PROGSUFFIX) lwcc/lwcc$(PROGSUFFIX)
193
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
138 @rm -f $(lwasm_objs) $(lwlink_objs) $(lwar_objs) $(lwlib_objs) $(lwobjdump_objs) $(lwcc_objs) $(lwcpp_objs)
11
a0317b794b7b Make output tidying
lost@l-w.ca
parents: 10
diff changeset
139 @rm -f $(extra_clean)
20
f4df3bd4b85f Moved removal of dep files to realclean and properly remove any .exe files
lost@l-w.ca
parents: 17
diff changeset
140 @rm -f */*.exe
2
7317fbe024af Clean up insane number of compiler warnings under -Wall
lost@l-w.ca
parents: 1
diff changeset
141
16
2f98cf1558e1 Added building of manual from docbook source to Makefile
lost@l-w.ca
parents: 11
diff changeset
142 .PHONY: realclean
22
7c35fa8dbc91 Added initial framework for lwbasic
lost@l-w.ca
parents: 20
diff changeset
143 realclean: clean $(realcleantargs)
16
2f98cf1558e1 Added building of manual from docbook source to Makefile
lost@l-w.ca
parents: 11
diff changeset
144 @echo "Cleaning up even more"
193
68f41eaf44f2 Added lwcc, lwcpp stubs
lost@l-w.ca
parents: 190
diff changeset
145 @rm -f $(lwasm_deps) $(lwlink_deps) $(lwar_deps) $(lwlib_deps) $(lwobjdump_deps) $(lwcc_deps) $(lwcpp_deps)
16
2f98cf1558e1 Added building of manual from docbook source to Makefile
lost@l-w.ca
parents: 11
diff changeset
146 @rm -f docs/manual/*.html docs/manual/*.pdf
2f98cf1558e1 Added building of manual from docbook source to Makefile
lost@l-w.ca
parents: 11
diff changeset
147
2
7317fbe024af Clean up insane number of compiler warnings under -Wall
lost@l-w.ca
parents: 1
diff changeset
148 print-%:
7317fbe024af Clean up insane number of compiler warnings under -Wall
lost@l-w.ca
parents: 1
diff changeset
149 @echo $* = $($*)
3
d4eb3c328a47 Typo fixes
lost@l-w.ca
parents: 2
diff changeset
150
d4eb3c328a47 Typo fixes
lost@l-w.ca
parents: 2
diff changeset
151 .PHONY: install
d4eb3c328a47 Typo fixes
lost@l-w.ca
parents: 2
diff changeset
152 install:
d4eb3c328a47 Typo fixes
lost@l-w.ca
parents: 2
diff changeset
153 cp $(MAIN_TARGETS) /usr/local/bin/
173
3413a88f4d09 Added test framework
lost@l-w.ca
parents: 126
diff changeset
154
3413a88f4d09 Added test framework
lost@l-w.ca
parents: 126
diff changeset
155 .PHONY: test
3413a88f4d09 Added test framework
lost@l-w.ca
parents: 126
diff changeset
156 test: all test/runtests
3413a88f4d09 Added test framework
lost@l-w.ca
parents: 126
diff changeset
157 @test/runtests
189
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
158
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
159 .PHONY: manual
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
160 manual: manual-html manual-htmlm manual-pdf
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
161
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
162 .PHONY: manual-html
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
163 manual-html: docs/manual/manual.html
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
164
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
165 .PHONY: manual-htmlm
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
166 manual-htmlm: docs/manual/index.html
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
167
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
168 .PHONY: manual-pdf
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
169 manual-pdf: docs/manual/manual.pdf
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
170
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
171 docs/manual/manual.html: docs/manual.docbook.sgml
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
172 docbook2html -o docs -u docs/manual.docbook.sgml && mv docs/manual.docbook.html docs/manual/manual.html
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
173
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
174 docs/manual/index.html: docs/manual.docbook.sgml
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
175 docbook2html -o docs/manual docsmanual.docbook.sgml
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
176
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
177 docs/manual/manual.pdf: docs/manual.docbook.sgml
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
178 docbook2pdf -o docs -u docsmanual.docbook.sgml && mv docs/manual.docbook.pdf docs/manual/manual.pdf && rm -f docs/manual.docbook.html
8a84141ea6dd Removed rules.make stuff in sub directories - it was not particularly helpful
lost@l-w.ca
parents: 188
diff changeset
179