comparison Makefile @ 311:7957e90d0a35 ccdev

Add skeleton compiler target to build
author William Astle <lost@l-w.ca>
date Sat, 21 Sep 2013 13:53:18 -0600
parents 65ed8dde5331
children 41118fb0a8f2
comparison
equal deleted inserted replaced
309:65ed8dde5331 311:7957e90d0a35
54 MAIN_TARGETS := lwasm/lwasm$(PROGSUFFIX) \ 54 MAIN_TARGETS := lwasm/lwasm$(PROGSUFFIX) \
55 lwlink/lwlink$(PROGSUFFIX) \ 55 lwlink/lwlink$(PROGSUFFIX) \
56 lwar/lwar$(PROGSUFFIX) \ 56 lwar/lwar$(PROGSUFFIX) \
57 lwlink/lwobjdump$(PROGSUFFIX) \ 57 lwlink/lwobjdump$(PROGSUFFIX) \
58 lwcc/lwcc$(PROGSUFFIX) \ 58 lwcc/lwcc$(PROGSUFFIX) \
59 lwcc/lwcc-cpp$(PROGSUFFIX) 59 lwcc/lwcc-cpp$(PROGSUFFIX) \
60 60 lwcc/lwcc-cc$(PROGSUFFIX)
61 LWCC_LIBBIN_FILES = lwcc/lwcc-cpp$(PROGSUFFIX) 61
62 LWCC_LIBBIN_FILES = lwcc/lwcc-cpp$(PROGSUFFIX) lwcc/lwcc-cc$(PROGSUFFIX)
62 LWCC_LIBLIB_FILES = 63 LWCC_LIBLIB_FILES =
63 LWCC_LIBINC_FILES = 64 LWCC_LIBINC_FILES =
64 65
65 .PHONY: all 66 .PHONY: all
66 all: $(MAIN_TARGETS) 67 all: $(MAIN_TARGETS)
105 lwcc_cpp_srcs := cpp-main.c 106 lwcc_cpp_srcs := cpp-main.c
106 lwcc_cpp_srcs := $(addprefix lwcc/,$(lwcc_cpp_srcs)) 107 lwcc_cpp_srcs := $(addprefix lwcc/,$(lwcc_cpp_srcs))
107 lwcc_cpp_objs := $(lwcc_cpp_srcs:.c=.o) 108 lwcc_cpp_objs := $(lwcc_cpp_srcs:.c=.o)
108 lwcc_cpp_deps := $(lwcc_cpp_srcs:.c=.d) 109 lwcc_cpp_deps := $(lwcc_cpp_srcs:.c=.d)
109 110
111 lwcc_cc_srcs := cc-main.c
112 lwcc_cc_srcs := $(addprefix lwcc/,$(lwcc_cc_srcs))
113 lwcc_cc_objs := $(lwcc_cc_srcs:.c=.o)
114 lwcc_cc_deps := $(lwcc_cc_srcs:.c=.d)
115
110 lwcc_cpplib_srcs := cpp.c lex.c token.c preproc.c symbol.c 116 lwcc_cpplib_srcs := cpp.c lex.c token.c preproc.c symbol.c
111 lwcc_cpplib_srcs := $(addprefix lwcc/,$(lwcc_cpplib_srcs)) 117 lwcc_cpplib_srcs := $(addprefix lwcc/,$(lwcc_cpplib_srcs))
112 lwcc_cpplib_objs := $(lwcc_cpplib_srcs:.c=.o) 118 lwcc_cpplib_objs := $(lwcc_cpplib_srcs:.c=.o)
113 lwcc_cpplib_deps := $(lwcc_cpplib_srcs:.c=.d) 119 lwcc_cpplib_deps := $(lwcc_cpplib_srcs:.c=.d)
114 120
115 lwcc_deps := $(lwcc_cpp_deps) $(lwcc_driver_deps) $(lwcc_cpplib_deps) 121 lwcc_deps := $(lwcc_cpp_deps) $(lwcc_driver_deps) $(lwcc_cpplib_deps) $(lwcc_cc_deps)
116 122
117 .PHONY: lwlink lwasm lwar lwobjdump lwcc 123 .PHONY: lwlink lwasm lwar lwobjdump lwcc
118 lwlink: lwlink/lwlink$(PROGSUFFIX) 124 lwlink: lwlink/lwlink$(PROGSUFFIX)
119 lwasm: lwasm/lwasm$(PROGSUFFIX) 125 lwasm: lwasm/lwasm$(PROGSUFFIX)
120 lwar: lwar/lwar$(PROGSUFFIX) 126 lwar: lwar/lwar$(PROGSUFFIX)
144 @$(CC) -o $@ $(lwcc_driver_objs) $(LDFLAGS) 150 @$(CC) -o $@ $(lwcc_driver_objs) $(LDFLAGS)
145 151
146 lwcc/lwcc-cpp$(PROGSUFFIX): $(lwcc_cpp_objs) lwlib lwcc-cpplib 152 lwcc/lwcc-cpp$(PROGSUFFIX): $(lwcc_cpp_objs) lwlib lwcc-cpplib
147 @echo Linking $@ 153 @echo Linking $@
148 @$(CC) -o $@ $(lwcc_cpp_objs) lwcc/libcpp.a $(LDFLAGS) 154 @$(CC) -o $@ $(lwcc_cpp_objs) lwcc/libcpp.a $(LDFLAGS)
155
156 lwcc/lwcc-cc$(PROGSUFFIX): $(lwcc_cc_objs) lwlib lwcc-cpplib
157 @echo Linking $@
158 @$(CC) -o $@ $(lwcc_cc_objs) lwcc/libcpp.a $(LDFLAGS)
149 159
150 .INTERMEDIATE: lwcc-cpplib 160 .INTERMEDIATE: lwcc-cpplib
151 lwcc-cpplib: lwcc/libcpp.a 161 lwcc-cpplib: lwcc/libcpp.a
152 lwcc/libcpp.a: $(lwcc_cpplib_objs) 162 lwcc/libcpp.a: $(lwcc_cpplib_objs)
153 @echo Linking $@ 163 @echo Linking $@
183 .PHONY: clean 193 .PHONY: clean
184 clean: $(cleantargs) 194 clean: $(cleantargs)
185 @echo "Cleaning up" 195 @echo "Cleaning up"
186 @rm -f lwlib/liblw.a lwasm/lwasm$(PROGSUFFIX) lwlink/lwlink$(PROGSUFFIX) lwlink/lwobjdump$(PROGSUFFIX) lwar/lwar$(PROGSUFFIX) 196 @rm -f lwlib/liblw.a lwasm/lwasm$(PROGSUFFIX) lwlink/lwlink$(PROGSUFFIX) lwlink/lwobjdump$(PROGSUFFIX) lwar/lwar$(PROGSUFFIX)
187 @rm -f lwcc/lwcc$(PROGSUFFIX) lwcc/lwcc-cpp$(PROGSUFFIX) lwcc/libcpp.a 197 @rm -f lwcc/lwcc$(PROGSUFFIX) lwcc/lwcc-cpp$(PROGSUFFIX) lwcc/libcpp.a
188 @rm -f $(lwcc_driver_objs) $(lwcc_cpp_objs) $(lwcc_cpplib_objs) 198 @rm -f $(lwcc_driver_objs) $(lwcc_cpp_objs) $(lwcc_cpplib_objs) $(lwcc_cc_objs)
189 @rm -f $(lwasm_objs) $(lwlink_objs) $(lwar_objs) $(lwlib_objs) $(lwobjdump_objs) 199 @rm -f $(lwasm_objs) $(lwlink_objs) $(lwar_objs) $(lwlib_objs) $(lwobjdump_objs)
190 @rm -f $(extra_clean) 200 @rm -f $(extra_clean)
191 @rm -f */*.exe 201 @rm -f */*.exe
192 202
193 .PHONY: realclean 203 .PHONY: realclean
194 realclean: clean $(realcleantargs) 204 realclean: clean $(realcleantargs)
195 @echo "Cleaning up even more" 205 @echo "Cleaning up even more"
196 @rm -f $(lwasm_deps) $(lwlink_deps) $(lwar_deps) $(lwlib_deps) $(lwobjdump_deps) 206 @rm -f $(lwasm_deps) $(lwlink_deps) $(lwar_deps) $(lwlib_deps) $(lwobjdump_deps)
197 @rm -f $(lwcc_driver_deps) $(lwcc_cpp_deps) $(lwcc_cpplib_deps) 207 @rm -f $(lwcc_driver_deps) $(lwcc_cpp_deps) $(lwcc_cpplib_deps) $(lwcc_cc_deps)
198 208
199 print-%: 209 print-%:
200 @echo $* = $($*) 210 @echo $* = $($*)
201 211
202 .PHONY: install 212 .PHONY: install