summaryrefslogtreecommitdiff
path: root/src/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/Makefile')
-rw-r--r--src/Makefile42
1 files changed, 19 insertions, 23 deletions
diff --git a/src/Makefile b/src/Makefile
index e90edb3..208b35b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -34,8 +34,6 @@ include include.mk
endif
EXECUTABLE := anylike
-LUA_OBJ := $(EXECUTABLE).lc
-LUA_OBJ_INCLUDE := $(EXECUTABLE)_lua_bytecode.h
# sysexec.o \
@@ -53,41 +51,38 @@ C_SRCS := $(C_OBJS:%.o=%.c)
LUA_SRCS := main_loop.lua \
echo_server.lua
-.PHONY: clean cleanall distclean manpage install install-bin install-etc install-man uninstall remove purge
-
-all: $(EXECUTABLE) $(LUA_OBJ)
+LUA_BYTECODE := $(EXECUTABLE).lc
+LUA_BYTECODE_OBJ := $(EXECUTABLE)_lua_bytecode.o
-define create-d-file
- @set -e; rm -f $1; \
- $(CC) -MM $(CFLAGS) $2 > $1.$$$$; \
- sed 's,\($*\)\.o[ :]*,\1.o $1 : ,g' < $1.$$$$ > $1; \
- rm -f $1.$$$$; echo '(re)building $1'
-endef
+.PHONY: clean cleanall distclean manpage install install-bin install-etc install-man uninstall remove purge
-anylike.d: anylike.c $(LUA_OBJ_INCLUDE)
- $(call create-d-file,$@,$<)
+all: $(EXECUTABLE)
%.d: %.c
- $(call create-d-file,$@,$<)
+ @set -e; rm -f $@; \
+ $(CC) -MM $(CFLAGS) $< > $@.$$$$; \
+ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
+ rm -f $@.$$$$; echo '(re)building $@'
ifneq ($(MAKECMDGOALS),distclean)
-include $(C_SRCS:%.c=%.d)
endif
-$(EXECUTABLE): $(C_OBJS)
- $(CC) $(C_OBJS) -o $@ $(LDFLAGS)
+$(EXECUTABLE): $(C_OBJS) $(LUA_BYTECODE_OBJ)
+ $(CC) $(C_OBJS) $(LUA_BYTECODE_OBJ) -o $@ $(LDFLAGS)
%.o: %.c
$(CC) $(CFLAGS) -c $<
-$(LUA_OBJ): $(LUA_SRCS)
+$(LUA_BYTECODE): $(LUA_SRCS)
$(LUAC) -o $@ $(LUA_SRCS)
-$(LUA_OBJ_INCLUDE): $(LUA_OBJ)
- $(LUA) ../tools/bin2c.lua $(LUA_OBJ) $(LUA_OBJ_INCLUDE:%.h=%) > $@
+$(LUA_BYTECODE_OBJ): $(LUA_BYTECODE)
+ $(LUA) ../tools/bin2c.lua $(LUA_BYTECODE) $(@:%.o=%) > $(@:%.o=%.c)
+ $(CC) $(@:%.o=%.c) -c -o $@
-strip: $(EXECUTABLE) $(LUA_OBJ)
- $(LUAC) -s -o $(LUA_OBJ) $(LUA_OBJ)
+strip: $(EXECUTABLE) $(LUA_BYTECODE)
+ $(LUAC) -s -o $(LUA_BYTECODE) $(LUA_BYTECODE)
$(MAKE)
$(STRIP) -s $(EXECUTABLE)
@@ -102,8 +97,9 @@ clean:
rm -f *.o
rm -f *.d
rm -f *.d.*
- rm -f *.lc
- rm -f $(LUA_OBJ_INCLUDE)
+ rm -f $(LUA_BYTECODE)
+ rm -f $(LUA_BYTECODE_OBJ)
+ rm -f $(LUA_BYTECODE_OBJ:%.o=%.c)
rm -f $(EXECUTABLE)
cleanall: clean