viking

webkit based web browser for Enlightenment
Log | Files | Refs | LICENSE

Makefile (2230B)


      1 TARGET = viking
      2 
      3 # Objectfiles, needed for $(TARGET)
      4 OBJ = main.o utilities.o commands.o jsmn.o viking_state.o window.o buffer.o download.o buffer_callback.o
      5 # Manpages
      6 MAN1 = evi2.1
      7 MAN5 = evirc.5
      8 # Used libraries to get needed CFLAGS and LDFLAGS form pkg-config
      9 LIBS = elementary ewebkit2
     10 # Files to removo by clean target
     11 CLEAN = $(TARGET) $(OBJ) $(DEPS) javascript.h default.edj
     12 # Files to install by install target or remove by uninstall target
     13 MANINSTALL = $(addprefix $(MANDIR)/man1/,$(MAN1)) \
     14              $(addprefix $(MANDIR)/man5/,$(MAN5))
     15 INSTALL = $(BINDIR)/$(TARGET) $(MANINSTALL)
     16 
     17 # DEBUG build?  Off by default
     18 V_DEBUG = 0
     19 
     20 CFLAGS += `pkg-config --cflags $(LIBS)`
     21 LDFLAGS += `pkg-config --libs $(LIBS)`
     22 # LDFLAGS += `pkg-config --libs $(LIBS) | sed -e "s/-lewebkit //g" -`
     23 
     24 # TA:  This is a pretty stringent list of warnings to bail on!
     25 ifeq ($(V_DEBUG),1)
     26 CFLAGS += -g -ggdb -Wstrict-prototypes
     27 CFLAGS += -Wno-long-long -Wall -Wmissing-declarations
     28 endif
     29 
     30 PREFIX ?= /usr/local
     31 BINDIR ?= $(PREFIX)/bin
     32 MANDIR ?= $(PREFIX)/share/man
     33 # Mode bits for normal not executable files
     34 FMOD ?= 0644
     35 # Mode bits for directories
     36 DMOD ?= 0755
     37 # Mode bits for executables
     38 EXECMOD ?= 0755
     39 # Destination directory to install files
     40 DESTDIR ?= /
     41 
     42 # auto garerated dependancies for object files
     43 DEPS = $(OBJ:%.o=%.d)
     44 
     45 all: $(TARGET)
     46 
     47 -include $(DEPS)
     48 
     49 main.o: javascript.h default.edj
     50 javascript.h: hinting.js
     51 	perl ./js-merge-helper.pl
     52 
     53 default.edj: default.edc
     54 	edje_cc default.edc
     55 
     56 $(TARGET): $(OBJ)
     57 	$(CC) $^ $(LDFLAGS) -o $@
     58 
     59 .PHONY: clean install uninstall
     60 clean:
     61 	-rm -f $(CLEAN)
     62 install: $(addprefix $(DESTDIR)/,$(INSTALL))
     63 uninstall:
     64 	rm -f $(addprefix $(DESTDIR)/,$(INSTALL))
     65 
     66 # pattern rule to inslall executabels
     67 $(DESTDIR)/$(BINDIR)/%: ./%
     68 	-[ -e '$(@D)' ] || mkdir -p '$(@D)' && chmod $(DMOD) '$(@D)'
     69 	cp -f '$<' '$@'
     70 	-strip -s '$@'
     71 	chmod $(EXECMOD) '$@'
     72 
     73 # pattern rules to install manpages
     74 $(DESTDIR)/$(MANDIR)/man1/%: ./%
     75 	-[ -e '$(@D)' ] || mkdir -p '$(@D)' && chmod $(DMOD) '$(@D)'
     76 	cp -f '$<' '$@'
     77 	chmod $(FMOD) '$@'
     78 
     79 $(DESTDIR)/$(MANDIR)/man5/%: ./%
     80 	-[ -e '$(@D)' ] || mkdir -p '$(@D)' && chmod $(DMOD) '$(@D)'
     81 	cp -f '$<' '$@'
     82 	chmod $(FMOD) '$@'
     83 
     84 %.o: %.c
     85 	$(CC) -MMD -D_GNU_SOURCE -c $(CFLAGS) $< -o $@