first commit
This commit is contained in:
53
Makefile
Normal file
53
Makefile
Normal file
@@ -0,0 +1,53 @@
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Wextra -O2 -MMD -MP -Isrc
|
||||
LDFLAGS = -lm
|
||||
|
||||
CORE_SRCS = src/articulator.c src/articulator_db.c src/transcriber.c src/visualizer.c
|
||||
CORE_OBJS = $(patsubst src/%.c, obj/%.o, $(CORE_SRCS))
|
||||
|
||||
GEN_TARGET = mapgen
|
||||
GEN_OBJS = obj/mapgen.o obj/articulator_db.o
|
||||
|
||||
EX1_OBJ = obj/example_babble.o
|
||||
EX1_TARGET = example_babble
|
||||
|
||||
EX2_OBJ = obj/example_names.o
|
||||
EX2_TARGET = example_names
|
||||
|
||||
ALL_OBJS = $(CORE_OBJS) obj/mapgen.o $(EX1_OBJ) $(EX2_OBJ)
|
||||
DEPS = $(ALL_OBJS:.o=.d)
|
||||
|
||||
all: $(GEN_TARGET) $(EX1_TARGET) $(EX2_TARGET)
|
||||
|
||||
$(GEN_TARGET): $(GEN_OBJS)
|
||||
$(CC) $(CFLAGS) $(GEN_OBJS) -o $@
|
||||
|
||||
src/ortho_maps.h: $(GEN_TARGET)
|
||||
./$(GEN_TARGET) > src/ortho_maps.h
|
||||
|
||||
obj/%.o: src/%.c | obj
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
obj/%.o: examples/%.c | obj
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
obj/mapgen.o: tools/mapgen.c | obj
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
obj/transcriber.o: src/ortho_maps.h
|
||||
|
||||
obj:
|
||||
mkdir -p obj
|
||||
|
||||
$(EX1_TARGET): $(EX1_OBJ) $(CORE_OBJS)
|
||||
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
||||
|
||||
$(EX2_TARGET): $(EX2_OBJ) $(CORE_OBJS)
|
||||
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
clean:
|
||||
rm -rf obj $(GEN_TARGET) $(EX1_TARGET) $(EX2_TARGET) src/ortho_maps.h
|
||||
|
||||
.PHONY: all clean
|
||||
Reference in New Issue
Block a user