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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
# files in source that are needed
PACKAGE = efm-test
VERSION = 0.0.0
SRCS = \
viewer.c menus.c ipc.c
HEADERS = \
viewer.h menus.h
DATA =
EXTRAS =
BUILD = \
LIB_DIRS = \
-L/usr/local/lib -L/usr/X11R6/lib -L/usr/X11/lib -L/usr/dt/lib
LIBS = \
`gtk-config --libs` -lgdbm -lgdk_imlib
CFLAGS = \
-O -g -D_GNU_SOURCE $(DEVFLAGS)
#CFLAGS = \
# -O -g -W -Wall -Wno-unused -pedantic -pedantic-errors -ansi -D_GNU_SOURCE
OPTFLAGS = \
-O6 -mpentium -mcpu=pentium -march=pentium -ffast-math -D_GNU_SOURCE
INCLUDES = \
`gtk-config --cflags` -I..
BIN = e16keyedit
# configurable stuff
BINARY_DESTINATION = /usr/local/enlightenment/bin
DATA_DESTINATION = /usr/local/enlightenment/share
# commands to do things
INSTALL = install
MKDIR = mkdir
RM = rm -f
RMRF = rm -rf
TAR = tar
GZIP = gzip
CD = cd
MAKE = make
STRIP = strip
SED = sed
MAKEDEP = gcc -MM $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES)
#MAKEDEP = makedepend -f- -s'\# CUT' -- -Y $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES) --
# piece together variables
OBJS = $(SRCS:.c=.o)
DIST = $(PACKAGE)-$(VERSION)
BLD = Makefile $(BUILD)
FILES = $(SRCS) $(HEADERS) $(DATA) $(BLD) $(EXTRAS)
all: e16keyedit
# show help
help:
@echo
@echo
# @echo "To build and install type:"
# @echo " make [options] install"
@echo "To only build the binaries:"
@echo " make [options] e16keyedit"
@echo
@echo "Options for building (zero or more of the following):"
@echo " BINARY_DESTINATION=/path/to/binary/dir [default="$(BINARY_DESTINATION)"]"
@echo " DATA_DESTINATION=/path/to/data/dir [default="$(DATA_DESTINATION)"]"
@echo " CFLAGS=\"flags for compiler\" [default="$(CFLAGS)"]"
@echo " INCLUDES=\"include directiors compiler\" [default="$(INCLUDES)"]"
@echo " EXTRA_CFLAGS=\"extra flags for compiler\" [default="$(EXTRA_CFLAGS)"]"
@echo " EXTRA_INCLUDES=\"extra include directiors compiler\" [default="$(EXTRA_INCLUDES)"]"
@echo " LIBS=\"libraries to link to\" [default="$(LIBS)"]"
@echo " LIB_DIRS=\"directories to find libraries\" [default="$(LIB_DIRS)"]"
@echo " EXTRA_LIBS=\"extra libraries to link to\" [default="$(EXTRA_LIBS)"]"
@echo " EXTRA_LIB_DIRS=\"extra directories to find libraries\" [default="$(EXTRA_LIB_DIRS)"]"
@echo
@echo
bigcompile:
$(CC) $(SRCS) -o e16keyedit $(OPTFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES) $(LIBS) $(EXTRA_LIBS) $(LIB_DIRS) $(EXTRA_LIB_DIRS)
$(STRIP) ./e16keyedit
optimized: bigcompile
# rules for source
e16keyedit: $(OBJS)
$(RM) $@
$(CC) -o $@ $(OBJS) $(LIBS) $(EXTRA_LIBS) $(LIB_DIRS) $(EXTRA_LIB_DIRS)
.c.o:
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES) -c $< -o $@
# clean out build crap
clean::
$(RMRF) $(BIN) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut $(DIST) $(DIST).tar $(DIST).tar.gz ./=build ./=install "#"*
# how to install
install:: e
@echo
@echo
@echo "You don't really want to do this. it doesn't work yet."
@echo
@echo
# for I in $(BIN); do $(INSTALL) -D -m 0775 $$I $(prefix)$(BINARY_DESTINATION)/$$I; done
# for I in $(DATA); do $(INSTALL) -D -m 0664 $$I $(prefix)$(DATA_DESTINATION)/$$I; done
# how to make a dist tarball
dist::
$(RMRF) $(DIST) $(DIST).tar $(DIST).tar.gz
$(MKDIR) $(DIST)
for I in $(FILES); do \
if [ -x $$I ]; then $(INSTALL) -D -m 0775 $$I $(DIST)/$$I; else \
if [ -f $$I ]; then $(INSTALL) -D -m 0664 $$I $(DIST)/$$I; else \
if [ -d $$I ]; then $(INSTALL) -D -m 0555 -d $$I $(DIST)/$$I; fi; fi; fi; \
done
$(TAR) -cf $(DIST).tar $(DIST)
$(GZIP) $(DIST).tar
$(RMRF) $(DIST)
# how to check the dist
distcheck: dist
$(RMRF) ./=build ./=install
$(MKDIR) ./=build
$(MKDIR) ./=install
($(CD) ./=build; $(GZIP) -d -c ../$(DIST).tar.gz | $(TAR) xvf -;)
($(CD) ./=build/$(PACKAGE)-$(VERSION); \
$(MAKE) prefix=../../=install install)
$(RMRF) ./=build ./=install $(DIST).tar.gz
# Update dependency info
dep depend:
$(SED) '/^# CUT/,$$d' Makefile > Makefile.tmp
echo "# CUT" >> Makefile.tmp
$(MAKEDEP) $(SRCS) >> Makefile.tmp && mv Makefile.tmp Makefile
# File dependencies. Do not remove the next line. sed needs it.
# CUT
batch.o: batch.c batch.h events.h x.h ev_filter.h str.h mem.h util.h \
file.h
db.o: db.c db.h mem.h util.h str.h
efm_view.o: efm_view.c x.h str.h mem.h util.h file.h events.h ev_x.h \
ev_filter.h efm_view.h db.h im_engine.h batch.h glob.h
ev_dispatch.o: ev_dispatch.c ev_dispatch.h events.h x.h str.h mem.h \
util.h
ev_filter.o: ev_filter.c ev_filter.h events.h x.h str.h mem.h util.h
ev_ipc.o: ev_ipc.c events.h x.h ev_ipc.h str.h mem.h util.h file.h
ev_session.o: ev_session.c str.h mem.h util.h
ev_signal.o: ev_signal.c events.h x.h ev_signal.h str.h mem.h util.h
ev_x.o: ev_x.c events.h x.h ev_x.h str.h mem.h util.h
events.o: events.c events.h x.h ev_filter.h str.h mem.h util.h
file.o: file.c file.h mem.h str.h events.h x.h db.h glob.h ev_ipc.h \
jobs.h util.h
glob.o: glob.c str.h glob.h
im_engine.o: im_engine.c util.h mem.h str.h x.h events.h ev_x.h \
im_engine.h db.h
jobs.o: jobs.c jobs.h
main.o: main.c events.h x.h ev_signal.h ev_x.h ev_ipc.h ev_filter.h \
batch.h efm_view.h file.h db.h im_engine.h mem.h util.h str.h
mem.o: mem.c mem.h
str.o: str.c str.h mem.h
util.o: util.c util.h mem.h str.h
x.o: x.c x.h mem.h str.h
|