Linux Makefile Sample



#in current directory
#there are following files from openssl source code
#
#aes_locl.h cbc_enc.c Makefile opensslconf.h symhacks.h
#aes_cbc.c aes_misc.c ossl_typ.h aes_core.c cbc128.c
#crypto.h modes.h safestack.h aes.h cbc_dec.c
#e_os2.h modes_lcl.h stack.h

DEPS=
ENC=cbc_enc.x
DEC=cbc_dec.x
EXEC=cbc_enc.x cbc_dec.x

SRCS=$(wildcard *.c *.cpp)
SRCS1=$(filter-out cbc_dec.c, $(SRCS))
FNAMES1=$(notdir $(SRCS1))
OBJS1=$(patsubst %.c,%.o,$(FNAMES1))

SRCS=$(wildcard *.c *.cpp)
SRCS2=$(filter-out cbc_enc.c, $(SRCS))
FNAMES2=$(notdir $(SRCS2))
OBJS2=$(patsubst %.c,%.o,$(FNAMES2))

%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<

%.o:%.cpp
$(CXX) $(CFLAGS) -c -o $@ $<

$(ENC): $(DEPS) $(OBJS1)
$(CXX) $(CFLAGS) -o $@ $(OBJS1) $(LDFLAGS)

$(DEC): $(DEPS) $(OBJS2)
$(CXX) $(CFLAGS) -o $@ $(OBJS2) $(LDFLAGS)

ifdef STRIP
$(STRIP) $@
endif

all: $(EXEC)

clean:
rm -f *.o $(EXEC)
#in current directory
#there are following files from openssl source code
#
#aes_locl.h  cbc_enc.c   Makefile   opensslconf.h  symhacks.h
#aes_cbc.c   aes_misc.c  ossl_typ.h  aes_core.c  cbc128.c   
#crypto.h    modes.h       safestack.h aes.h       cbc_dec.c  
#e_os2.h     modes_lcl.h   stack.h

DEPS=
ENC=cbc_enc.x
DEC=cbc_dec.x
EXEC=cbc_enc.x cbc_dec.x

SRCS=$(wildcard *.c *.cpp)
SRCS1=$(filter-out cbc_dec.c, $(SRCS))
FNAMES1=$(notdir $(SRCS1))
OBJS1=$(patsubst %.c,%.o,$(FNAMES1))

SRCS=$(wildcard *.c *.cpp)
SRCS2=$(filter-out cbc_enc.c, $(SRCS))
FNAMES2=$(notdir $(SRCS2))
OBJS2=$(patsubst %.c,%.o,$(FNAMES2))

%.o: %.c
        $(CC) $(CFLAGS) -c -o $@ $<

%.o:%.cpp
        $(CXX) $(CFLAGS) -c -o $@ $<

$(ENC): $(DEPS) $(OBJS1)
        $(CXX) $(CFLAGS) -o $@ $(OBJS1) $(LDFLAGS)
       
$(DEC): $(DEPS) $(OBJS2)
        $(CXX) $(CFLAGS) -o $@ $(OBJS2) $(LDFLAGS)

ifdef STRIP
        $(STRIP) $@
endif

all: $(EXEC)

clean:
        rm -f *.o $(EXEC)



source code from openssl source code


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值