Mercurial > hg > index.cgi
diff Makefile @ 308:670ea8f90212 ccdev
Converted preproc logic to library and moved some utility stuff to lwlib
The strbuf and strpool stuff is generally useful so move it to lwlib where
other such things live.
Also, package the preprocessor logic into a library for easy use in multiple
places.
author | William Astle <lost@l-w.ca> |
---|---|
date | Sat, 21 Sep 2013 13:33:54 -0600 |
parents | d85d173ba120 |
children | 65ed8dde5331 |
line wrap: on
line diff
--- a/Makefile Sat Sep 21 12:27:48 2013 -0600 +++ b/Makefile Sat Sep 21 13:33:54 2013 -0600 @@ -69,7 +69,8 @@ lwar_srcs := $(addprefix lwar/,$(lwar_srcs)) lwlib_srcs := lw_alloc.c lw_realloc.c lw_free.c lw_error.c lw_expr.c \ - lw_stack.c lw_string.c lw_stringlist.c lw_cmdline.c + lw_stack.c lw_string.c lw_stringlist.c lw_cmdline.c lw_strbuf.c \ + lw_strpool.c lwlib_srcs := $(addprefix lwlib/,$(lwlib_srcs)) lwlink_srcs := main.c lwlink.c readfiles.c expr.c script.c link.c output.c map.c @@ -101,12 +102,17 @@ lwcc_driver_objs := $(lwcc_driver_srcs:.c=.o) lwcc_driver_deps := $(lwcc_driver_srcs:.c=.d) -lwcc_cpp_srcs := cpp-main.c cpp.c lex.c strbuf.c token.c preproc.c symbol.c strpool.c +lwcc_cpp_srcs := cpp-main.c lwcc_cpp_srcs := $(addprefix lwcc/,$(lwcc_cpp_srcs)) lwcc_cpp_objs := $(lwcc_cpp_srcs:.c=.o) lwcc_cpp_deps := $(lwcc_cpp_srcs:.c=.d) -lwcc_deps := $(lwcc_cpp_deps) $(lwcc_driver_deps) +lwcc_cpplib_srcs := cpp.c lex.c token.c preproc.c symbol.c +lwcc_cpplib_srcs := $(addprefix lwcc/,$(lwcc_cpplib_srcs)) +lwcc_cpplib_objs := $(lwcc_cpplib_srcs:.c=.o) +lwcc_cpplib_deps := $(lwcc_cpplib_srcs:.c=.d) + +lwcc_deps := $(lwcc_cpp_deps) $(lwcc_driver_deps) $(lwcc_cpplib_deps) .PHONY: lwlink lwasm lwar lwobjdump lwcc lwlink: lwlink/lwlink$(PROGSUFFIX) @@ -115,6 +121,7 @@ lwobjdump: lwlink/lwobjdump$(PROGSUFFIX) lwcc: lwcc/lwcc$(PROGSUFFIX) lwcc-cpp: lwcc/lwcc-cpp$(PROGSUFFIX) +lwcc-cpplib: lwcc/libcpp.a lwasm/lwasm$(PROGSUFFIX): $(lwasm_objs) lwlib @echo Linking $@ @@ -136,9 +143,16 @@ @echo Linking $@ @$(CC) -o $@ $(lwcc_driver_objs) $(LDFLAGS) -lwcc/lwcc-cpp$(PROGSUFFIX): $(lwcc_cpp_objs) lwlib +lwcc/lwcc-cpp$(PROGSUFFIX): $(lwcc_cpp_objs) lwlib lwcc-cpplib @echo Linking $@ - @$(CC) -o $@ $(lwcc_cpp_objs) $(LDFLAGS) + @$(CC) -o $@ $(lwcc_cpp_objs) lwcc/libcpp.a $(LDFLAGS) + +.INTERMEDIATE: lwcc-cpplib +lwcc-cpplib: lwcc/libcpp.a +lwcc/libcpp.a: $(lwcc_cpplib_objs) + @echo Linking $@ + @$(AR) rc $@ $(lwcc_cpplib_objs) + @$(RANLIB) $@ #.PHONY: lwlib .INTERMEDIATE: lwlib @@ -170,8 +184,8 @@ clean: $(cleantargs) @echo "Cleaning up" @rm -f lwlib/liblw.a lwasm/lwasm$(PROGSUFFIX) lwlink/lwlink$(PROGSUFFIX) lwlink/lwobjdump$(PROGSUFFIX) lwar/lwar$(PROGSUFFIX) - @rm -f lwcc/lwcc$(PROGSUFFIX) lwcc/lwcc-cpp$(PROGSUFFIX) - @rm -f $(lwcc_driver_ojbs) $(lwcc_cpp_objs) + @rm -f lwcc/lwcc$(PROGSUFFIX) lwcc/lwcc-cpp$(PROGSUFFIX) lwcc/libcpp.a + @rm -f $(lwcc_driver_objs) $(lwcc_cpp_objs) $(lwcc_cpplib_objs) @rm -f $(lwasm_objs) $(lwlink_objs) $(lwar_objs) $(lwlib_objs) $(lwobjdump_objs) @rm -f $(extra_clean) @rm -f */*.exe @@ -180,7 +194,7 @@ realclean: clean $(realcleantargs) @echo "Cleaning up even more" @rm -f $(lwasm_deps) $(lwlink_deps) $(lwar_deps) $(lwlib_deps) $(lwobjdump_deps) - @rm -f $(lwcc_driver_deps) $(lwcc_cpp_deps) + @rm -f $(lwcc_driver_deps) $(lwcc_cpp_deps) $(lwcc_cpplib_deps) @rm -f docs/manual/*.html docs/manual/*.pdf print-%: