Global generation
This commit is contained in:
21
Makefile
21
Makefile
@ -3,17 +3,32 @@ CFLAGS=-g -std=c11 -Wall -Wpedantic
|
||||
LD=gcc
|
||||
LDFLAGS=-g
|
||||
|
||||
SRCS=$(wildcard src/*.c)
|
||||
OBJS=$(SRCS:src/%.c=bin/%.o)
|
||||
DEPS=$(SRCS:src/%.c=bin/deps/%.d)
|
||||
SRCS:=$(wildcard src/*.c)
|
||||
OBJS:=$(SRCS:src/%.c=bin/%.o)
|
||||
DEPS:=$(SRCS:src/%.c=bin/deps/%.d)
|
||||
|
||||
SRCS += bin/init_globals.c
|
||||
OBJS += bin/init_globals.o
|
||||
DEPS += bin/deps/init_globals.o
|
||||
|
||||
HEADERS=$(wildcard src/*.h)
|
||||
SRCS_WITH_HEADERS=$(filter $(HEADERS:src/%.h=src/%.c),$(SRCS))
|
||||
|
||||
glisp: $(OBJS)
|
||||
$(LD) $(LDFLAGS) -o $@ $^
|
||||
|
||||
bin/init_globals.c: $(filter-out bin/init_globals.c,$(SRCS_WITH_HEADERS)) src/gen-init-globals.awk
|
||||
@mkdir -p bin/
|
||||
awk -f src/gen-init-globals.awk $(filter-out src/gen-init-globals.awk,$^) >$@
|
||||
|
||||
bin/%.o: src/%.c
|
||||
@mkdir -p bin/deps
|
||||
$(CC) $(CFLAGS) -c -MMD -MF $(<:src/%.c=bin/deps/%.d) -o $@ $<
|
||||
|
||||
bin/init_globals.o: bin/init_globals.c
|
||||
@mkdir -p bin/deps
|
||||
$(CC) $(CFLAGS) -Isrc/ -c -MMD -MF bin/deps/init_globals.d -o $@ $<
|
||||
|
||||
clean:
|
||||
rm -rf glisp bin/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user