browse

browse.git
git clone git://git.lenczewski.org/browse.git
Log | Files | Refs | README | LICENSE

Makefile (861B)


      1 .PHONY: all build clean dist distclean install uninstall
      2 
      3 include config.mk
      4 
      5 TARGET		:= browse
      6 
      7 SOURCES		:= browse.c
      8 OBJECTS		:= $(SOURCES:%=$(OBJ)/%.o)
      9 OBJDEPS		:= $(OBJECTS:%.o=%.d)
     10 
     11 ARCHIVE		:= $(TARGET).tar
     12 
     13 AUX		:= Makefile config.mk config.def.h browse.h browse.c
     14 
     15 all: build
     16 
     17 build: $(TARGET)
     18 
     19 clean:
     20 	rm -rf $(OBJ) $(TARGET)
     21 
     22 dist: build $(AUX)
     23 	tar cf $(ARCHIVE) $(TARGET) $(AUX)
     24 
     25 distclean: clean
     26 	rm -rf $(ARCHIVE) config.h
     27 
     28 install: build
     29 	mkdir -p $(DESTDIR)$(PREFIX)/bin
     30 	install -m 0755 $(TARGET) $(DESTDIR)$(PREFIX)/bin/$(TARGET)
     31 
     32 uninstall:
     33 	rm -f $(DESTDIR)$(PREFIX)/bin/$(TARGET)
     34 
     35 config.h: config.def.h
     36 	cp $< $@
     37 
     38 $(TARGET): $(OBJECTS) | $(BIN)
     39 	$(CC) -o $@ $^ $(LDFLAGS)
     40 
     41 $(OBJECTS): config.h
     42 
     43 $(OBJECTS): $(OBJ)/%.c.o: %.c | $(OBJ)
     44 	@mkdir -p $(dir $@)
     45 	$(CC) -MMD -o $@ -c $< $(CFLAGS) $(CPPFLAGS)
     46 
     47 -include $(OBJDEPS)
     48 
     49 $(OBJ):
     50 	mkdir $@