-define ast_make_o_c
-$(1): $(2)
- $(ECHO_PREFIX) echo " [CC] $$< -> $$@"
- $(CMD_PREFIX) $$(CC) -o $$@ -c $$< $$(CFLAGS)
-endef
-
-define ast_make_oo_cc
-$(1): $(2)
- $(ECHO_PREFIX) echo " [CXX] $$< -> $$@"
- $(CMD_PREFIX) $$(CXX) -o $$@ -c $$< $$(CFLAGS)
-endef
-
-define ast_make_c_y
-$(1): $(2)
- $(ECHO_PREFIX) echo " [BISON] $$< -> $$@"
- $(CMD_PREFIX) bison -o $$@ -d --name-prefix=ast_yy $$<
-endef
-
-define ast_make_c_fl
-$(1): $(2)
- $(ECHO_PREFIX) echo " [FLEX] $$< -> $$@"
- $(CMD_PREFIX) flex -o $$@ --full $$<
-endef
-
-define ast_make_so_o
-$(1): $(2)
- $(ECHO_PREFIX) echo " [LD] $$^ -> $$@"
- $(CMD_PREFIX) $$(CC) $$(STATIC_BUILD) -o $$@ $$(LDFLAGS) $$(SOLINK) $$^ $$(LIBS)
-endef
-
-define ast_make_so_oo
-$(1): $(2)
- $(ECHO_PREFIX) echo " [LDXX] $$^ -> $$@"
- $(CMD_PREFIX) $$(CXX) $$(STATIC_BUILD) -o $$@ $$(LDFLAGS) $$(SOLINK) $$^ $$(LIBS)
-endef
-
-define ast_make_a_o
-$(1): $(2)
- $(ECHO_PREFIX) echo " [AR] $$^ -> $$@"
- $(CMD_PREFIX) $$(AR) cr $$@ $$^
- $(CMD_PREFIX) $$(RANLIB) $$@
-endef
+%.o: %.c
+ $(ECHO_PREFIX) echo " [CC] $< -> $@"
+ifeq ($(AST_DEVMODE),yes)
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS) -MMD -MT $@ -MF .$(subst /,_,$@).d -MP
+else
+ $(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS)
+endif