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
|
# files in source that are needed
PACKAGE = efm-test
VERSION = 0.0.0
SRCS = \
viewer.c menus.c file.c
HEADERS = \
viewer.h menus.h file.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 = e16menuedit
# 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: e16menuedit
# show help
help:
@echo
@echo
# @echo "To build and install type:"
# @echo " make [options] install"
@echo "To only build the binaries:"
@echo " make [options] e16menuedit"
@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 e16menuedit $(OPTFLAGS) $(EXTRA_CFLAGS) $(INCLUDES) $(EXTRA_INCLUDES) $(LIBS) $(EXTRA_LIBS) $(LIB_DIRS) $(EXTRA_LIB_DIRS)
$(STRIP) ./e16menuedit
optimized: bigcompile
# rules for source
e16menuedit: $(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
# CUT
viewer.o: viewer.c viewer.h menus.h
menus.o: menus.c menus.h viewer.h
file.o: file.c file.h
|