# Copyright (c) 2004 Mark Aylett # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. AR = ar CC = cc CXX = c++ RANLIB = ranlib RM = rm ARFLAGS = rc CFLAGS ?= -O CXXFLAGS = CDEFS = -DNDEBUG -DMAR_STATIC CINCS = -I../include CWARN = CXXWARN = LDFLAGS = INSTALLDIR = /usr/local LIBOBJS = \ mar_c.o \ mar_debug_c.o \ mar_defs_c.o \ mar_file_c.o \ mar_flags_c.o \ mar_format_c.o \ mar_info_c.o \ mar_meta_c.o \ mar_mfile_c.o \ mar_mmap_c.o \ mar_seq_c.o \ mar_storage_c.o \ mar_string_c.o \ mar_types_c.o \ mar_user_c.o LIB = libmar.a MANDIR = /usr/local/man PROG = mar PROGOBJS = \ getopt.o \ mar_main_c.o \ mar_util_c.o TEST = mar_test TESTOBJS = \ mar_test_cpp.o .PHONY: all check clean all: libmar.a $(PROG) check: $(TEST) ./$(TEST) clean: $(RM) -f $(LIB) $(PROG) $(TEST) \ $(LIBOBJS) $(PROGOBJS) $(TESTOBJS) *.core $(PROG): $(PROGOBJS) $(LIB) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(PROGOBJS) $(LIB) $(TEST): $(TESTOBJS) $(LIB) $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $(TESTOBJS) $(LIB) $(LIB): $(LIBOBJS) $(RM) -f $@ $(AR) $(ARFLAGS) $@ $(LIBOBJS) $(RANLIB) $@ getopt.o: getopt.c $(CC) $(CFLAGS) $(CDEFS) $(CINCS) -c -o $@ getopt.c mar_main_c.o: mar_main_c.c $(CC) $(CFLAGS) $(CWARN) $(CDEFS) $(CINCS) -c -o $@ mar_main_c.c mar_util_c.o: mar_util_c.c $(CC) $(CFLAGS) $(CWARN) $(CDEFS) $(CINCS) -c -o $@ mar_util_c.c mar_test_cpp.o: mar_test_cpp.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(CXXWARN) $(CDEFS) $(CINCS) -c -o $@ mar_test_cpp.cpp .c.o: $(CC) $(CFLAGS) $(CWARN) $(CDEFS) -DMAR_BUILD $(CINCS) -c -o $@ $<