diff 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
line wrap: on
line diff
--- a/Makefile	Sat Sep 21 13:35:40 2013 -0600
+++ b/Makefile	Sat Sep 21 13:53:18 2013 -0600
@@ -56,9 +56,10 @@
 	lwar/lwar$(PROGSUFFIX) \
 	lwlink/lwobjdump$(PROGSUFFIX) \
 	lwcc/lwcc$(PROGSUFFIX) \
-	lwcc/lwcc-cpp$(PROGSUFFIX)
+	lwcc/lwcc-cpp$(PROGSUFFIX) \
+	lwcc/lwcc-cc$(PROGSUFFIX)
 
-LWCC_LIBBIN_FILES = lwcc/lwcc-cpp$(PROGSUFFIX)
+LWCC_LIBBIN_FILES = lwcc/lwcc-cpp$(PROGSUFFIX) lwcc/lwcc-cc$(PROGSUFFIX)
 LWCC_LIBLIB_FILES =
 LWCC_LIBINC_FILES =
 
@@ -107,12 +108,17 @@
 lwcc_cpp_objs := $(lwcc_cpp_srcs:.c=.o)
 lwcc_cpp_deps := $(lwcc_cpp_srcs:.c=.d)
 
+lwcc_cc_srcs := cc-main.c
+lwcc_cc_srcs := $(addprefix lwcc/,$(lwcc_cc_srcs))
+lwcc_cc_objs := $(lwcc_cc_srcs:.c=.o)
+lwcc_cc_deps := $(lwcc_cc_srcs:.c=.d)
+
 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)
+lwcc_deps := $(lwcc_cpp_deps) $(lwcc_driver_deps) $(lwcc_cpplib_deps) $(lwcc_cc_deps)
 
 .PHONY: lwlink lwasm lwar lwobjdump lwcc
 lwlink: lwlink/lwlink$(PROGSUFFIX)
@@ -147,6 +153,10 @@
 	@echo Linking $@
 	@$(CC) -o $@ $(lwcc_cpp_objs) lwcc/libcpp.a $(LDFLAGS)
 
+lwcc/lwcc-cc$(PROGSUFFIX): $(lwcc_cc_objs) lwlib lwcc-cpplib
+	@echo Linking $@
+	@$(CC) -o $@ $(lwcc_cc_objs) lwcc/libcpp.a $(LDFLAGS)
+
 .INTERMEDIATE: lwcc-cpplib
 lwcc-cpplib: lwcc/libcpp.a
 lwcc/libcpp.a: $(lwcc_cpplib_objs)
@@ -185,7 +195,7 @@
 	@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) lwcc/libcpp.a
-	@rm -f $(lwcc_driver_objs) $(lwcc_cpp_objs) $(lwcc_cpplib_objs)
+	@rm -f $(lwcc_driver_objs) $(lwcc_cpp_objs) $(lwcc_cpplib_objs) $(lwcc_cc_objs)
 	@rm -f $(lwasm_objs) $(lwlink_objs) $(lwar_objs) $(lwlib_objs) $(lwobjdump_objs)
 	@rm -f $(extra_clean)
 	@rm -f */*.exe
@@ -194,7 +204,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) $(lwcc_cpplib_deps)
+	@rm -f $(lwcc_driver_deps) $(lwcc_cpp_deps) $(lwcc_cpplib_deps) $(lwcc_cc_deps)
 
 print-%:
 	@echo $* = $($*)