-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
32 lines (23 loc) · 836 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
LFLAGS := -L$(shell if [ -d /usr/X11R6/lib64 ]; then echo /usr/X11R6/lib64; else echo /usr/X11R6/lib; fi)
$(warning LFLAGS=$(LFLAGS))
LIBS := -lGL -lGLU -lXi -lXmu -lX11 -lm -lnetpbm
SRCS := main.cc newdither.cc
CFLAGS := -Wall -O2 -g
CCLD := $(CC)
OBJS := $(patsubst %.cc, obj/%.o, $(SRCS))
default: stippler stippler_ps stippler_dac
clean:
rm -rf obj stippler stippler_*
obj/%.d: %.cc
mkdir -p $(dir $@)
$(CC) -MM -MG -MT "$@ $(patsubst obj/%.d,obj/%.o,$@)" \
$(CFLAGS) $< -o [email protected] && mv -f [email protected] $@
obj/%.o: %.cc
$(CC) $(CFLAGS) -c $< -o [email protected] && mv -f [email protected] $@
stippler: $(OBJS) obj/gcode.o
$(CC) $(LFLAGS) -o $@ $^ $(LIBS)
stippler_ps: $(OBJS) obj/ps.o
$(CC) $(LFLAGS) -o $@ $^ $(LIBS)
stippler_dac: $(OBJS) obj/dac.o
$(CC) $(LFLAGS) -o $@ $^ $(LIBS)
include $(patsubst %.o,%.d,$(OBJS) obj/gcode.o obj/ps.o)