initial commit
[surgeon.git] / Makefile
blob83e39ff0f7806e3ef87a5bff435fc072a2b2af41
1 CC = gcc
3 CFLAGS = -Wall -m32
5 MAKEDEPEND = -MD
7 DEPDIR = .dep
9 CSRC := $(wildcard *.c)
11 ASMSRC := $(wildcard *.S)
13 OBJ = $(CSRC:%.c=%.o) $(ASMSRC:%.S=%.o)
15 EXE = surgeon
17 INSTALLPATH = /usr/bin
19 PROCESSDEP = @cp $*.d $(DEPDIR)/$*.d; \
20 sed -e 's/\#.*//' -e 's/^[^:]*: *//' -e 's/ * \\$$//' -e '/^$$/ d' -e 's/$$/:/' < $*.d >> $(DEPDIR)/$*.d; \
21 rm -f $*.d;
23 .PHONY: build
24 build: $(OBJ)
25 $(CC) $(CFLAGS) -o $(EXE) $(OBJ)
26 @echo
27 @echo "*** BUILD COMPLETE ***"
29 .PHONY: debug
30 debug: CFLAGS += -g
31 debug: $(OBJ)
32 $(CC) $(CFLAGS) -o $(EXE) $(OBJ)
33 @echo
34 @echo "*** DEBUG BUILD COMPLETE ***"
36 %.o: %.c
37 $(CC) -c $(CFLAGS) $(MAKEDEPEND) -o $@ $<
38 $(PROCESSDEP)
40 %.o: %.S
41 $(CC) -c $(CFLAGS) $(MAKEDEPEND) -o $@ $<
42 $(PROCESSDEP)
44 -include $(CSRC:%.c=$(DEPDIR)/%.d) $(ASMSRC:%.S=$(DEPDIR)/%.d)
46 .PHONY: install
47 install:
48 cp $(EXE) $(INSTALLPATH)
50 .PHONY: remove
51 remove:
52 rm -f $(INSTALLPATH)/$(EXE)
54 .PHONY: clean
55 clean:
56 rm -f $(OBJ) $(EXE)